史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
註冊帳號 論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-04-18, 05:48 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 linux - 完全用Linux工作

《完全用Linux工作》(教學Linux 前請耐心看完)



  我已經半年沒有使用 Windows 的方式工作了。Linux 高效的完成了我所有的工作。
  GNU/Linux 不是每個人都想用的。如果你只需要處理一般的事務,打遊戲,那麼你不需要瞭解下面這些了。
  我不是一個狂熱的自由軟體份子,雖然我很喜歡自由軟體。這篇文章也不是用來推行自由軟體運動的,雖然我覺得自由軟體運動是非常好的。
  這篇文章也不是用來比較 Linux 和 Windows 內核效率,文件系統,網路服務的。我現在是作為一個用戶而不是一個開發者來說話的,我們的討論是關於操作,套用層面的。是為了告訴大學裡還不瞭解,或者不理解 UNIX 的科學工作者和大學生,UNIX 比 Windows 更適合用於科學研究工作,請大家理解 UNIX 的工作方式,不要用 Windows 的標準來要求 Linux,而要用一個科學工作者的標準來要求自己,用UNIX 的思想來武裝自己。
  我顯然是反對在大學,特別是理工科專業推廣 Windows 的。我也反對在對"娃娃"們的電腦啟蒙教育中使用 Windows。因為 Windows 不論從技術上,經濟上,思想風格上都是與我們培養高科技人才的目標格格不入的。Windows 的流行屬於歷史遺留問題,爺爺一級的人當然已經不可救藥,但是我們不應該讓下一代繼續走上歧途。
  UNIX 不是電腦專家的專利
  當我建議一些非電腦專業的人用 Linux 的時候,很多人說:"UNIX 是電腦系的人用的,我們不能理解。" "UNIX 是男孩用的,我們女孩不用。"
  但是其實世界上的大多數科學家和工程師幾乎用的都是 UNIX 作為他們的電腦工具。就因為它簡單,可靠,穩定,強大,有趣。甚至很多時候 UNIX 就是唯一的選項。
  你說:"我們都會用 UNIX 的話,你們電腦專業的人還用來幹什麼?" 很榮幸的告訴你,電腦專業的有一部分人就是專門為你們提供這樣強大而方便的電腦工具的。如果他們製造的工具只有自己會用的話,那這個工具還有什麼用?
  理解 GNU/Linux 不要用 Windows 的標準來要求 Linux
  由於GNU/Linux這個詞太長,下面如果沒有特別指明,"Linux"就是指GNU/Linux"。
  在這個年代,恐怕沒有人需要我來介紹 Linux 是什麼了吧?如果你覺得"Linux 只不過是跟 DOS 差不多的東西",那請問問你旁邊的 Linux 用戶,Linux 到底是什麼?
  那為什麼我還要寫一篇這樣的文章?因為,我發現還有很多人不不理解 Linux 和 UNIX,雖然他們也在用它,但是他們有時會問:"為什麼 Linux 不能像 Windows 那樣 ……?","怎麼Redhat Linux不能 mount NTFS 分區!","Linux 下用什麼整理硬碟?","什麼時候OpenOffice才能完全相容Word文件啊?","現在還有什麼Windows能幹的事情Linux幹不了的? "……
  他們有40G的硬碟,卻只為 Linux 分配了2G空間,有時還抱怨"這個東西怎麼佔這麼多硬碟!" 似乎 Windows 該佔用大部分硬碟。他們把重要的資料裝在Windows的分區,似乎信不過Linux。他們總是到處尋找新奇的,好看的GUI程序,對指令行的東西一概不屑一顧。他們對Drag&Drop,表單組態,自動昇級非常感興趣。他們如果找到一個很像 Windows 程序的 Linux 程序,一定會很高興的說:"哈哈!Linux 也能……了!"如果Linux在某種測試中勝過Windows,他們會高興得跳起來。他們沒有辦法用Linux 解決問題的時候,甚至用Wine來執行Windows程序。有時實在沒辦法,只好重新啟動到Windows,或者乾脆省得麻煩,在 Windows 下裝一個 VMWare 虛擬一個 Linux 玩。
  你如果出現了上面的情況,說明你的思想受到了 Windows 的某種潛移默化的影響和誤導。你沒有能夠從本質上理解存在於 Linux 身上的 UNIX 思想。你支持 Linux,你喜歡 Linux,你能從中感覺到快樂,這非常好。你現在只需要明白的是:Linux 從來就不是一個玩具,它是天才UNIX的後代。UNIX 是自晶體管發明以來最偉大的發明,它從誕生那一天開始就比 Windows 的設計出色。
  你要體會什麼叫做"設計",一個糟糕的設計並不是到後來縫縫補補就可以變好的,而一個出色的設計,不但可以以不變應萬變,而且可以影響到後來者。一個出色的設計配上一個出色的實現,那就是非常出色的發明。Linux 就是這樣的一個出色的發明。Linux 並不需要追趕 Windows,也不需要打垮微軟。它的最終目標是改變整個電腦世界,還人們自由,給人們樂趣和方便。
  Unix 是簡單的,你不需要成為一個天才也能理解這種簡單。
  UNIX的設計者 Dennis Ritchie 說:"Unix is simple. It just takes a genius to understand its simplicity." 但是我不這麼認為,因為我不是一個天才,但是我卻勇敢的把 Windows 完全移除掉,遇到不明白的事情的時候努力用 UNIX 的方式去解決,而不是尋求 Windows 的說明 。現在我體會到了 UNIX 的思想和好處,我可以用比 Windows 高效幾倍的效率工作。因為我相信這樣的信念:"Windows 能辦到的事 Linux 一定能辦到,而且辦的更好。"
  這小節開頭的話應該改成:"Unix 是簡單的,你不需要成為一個天才或是電腦專家。但是在這個沖斥著 Windows 錯誤觀念的世界,你需要信念和勇氣才能理解它的簡單。" 我下面就告訴你一些我理解到的東西。首先,你要知道的是微軟在國際科學領域是根本沒有地位的。
  微軟的地位
  微軟的名聲在歐洲和美國的大學裡,特別是在電腦系裡之壞,大家可能有所耳聞。我認識的 MIT,Stanford 的教授,貝爾實驗室的專家,甚至一個歐洲小國的高中電腦老師都絕口不提微軟的名字。在他們眼裡,微軟只是一個沒有真技術,專靠在落後國家商業宣傳和壟斷經營的小公司。這個"小"並不是說它人少,錢少,而是說它先進技術少。
  我上次和王益合作寫了一個算法演示程序,那個算法是貝爾實驗室一位科學家Steven Fortune很天才的發明,為了程序能夠被身邊大多數人使用,我們選項了 VC+MFC 作為平台。我在分析算法時還得到 Fortune 很熱情的鼓勵,寄給我一份資料,還多次回信耐心的給我講解了很多細節。但是程序完成之後,我把樣品發給 Fortune,他回信說:"對不起。我電腦上沒有 MFC。" 話說的很客氣,但是我已經感覺到了他對 Windows的不屑。然後我把 MFC 靜態編譯工作序再發給他,他就沒有再回信了。他顯然不是瞧不起我,而是確實有難處。
  你能感覺到這位科學家對微軟和 Windows 是什麼態度了吧?不是反感,而是他心裡根本沒有 Windows 這個東西!微軟在高科技領域沒有發展,那麼它怎麼生存呢?到發展中國家去發展一下,他們的人民還對電腦一無所知,我說不定甚至可以打入大學的電腦系呢。我送他們軟體,我捐錢蓋大樓,我出錢找圖靈獎獲得者來演講,讓他們覺得我們都是科學家!
  好了,現在全國的大學包括清華,幾乎所有人機器必裝盜版 Win2000,Office XP,學校的選課系統是非IE不能正確瀏覽,論文用 Word 編輯,演示用ppt做,email 的通知附件是 doc 文件,你不用 Word 打不開,連 863 項目都用 VC 寫程序了。我很久以前就看到一份報紙說,"微軟為什麼不嚴厲打擊盜版?" 這篇文章說,微軟非但不打擊中國的盜版行為,而且有放任之趨勢。放長線吊大魚,"以後我要你們加倍的來還我!" 確實如此,它的目的快實現了。
  Windows 籠罩下的中國電腦教育
  說句丟臉的話,比爾蓋茨很久以前是我的偶像…… //blush
  在中國,比爾蓋茨被很多人奉為神聖,"少年電腦天才",甚至有的人提到他的名字就做出"抱拳對天"的姿勢。很多人談到微軟的"新技術","高科技" 都是眉飛色舞。各種"VC編程聖經","深入瞭解 Visual C++"之類的書,在開頭幾頁都會出現非常肉麻的字眼,"在那團團的混沌中,一個開天闢地的精靈,Windows 1.0,誕生了……"
  微軟的軟體被這麼多人盜用,那麼人們是怎樣使用這些盜版程序的呢?先看看電腦培訓班,教的都是一些 DOS 指令,打字,Windows 基本操作,Word 我的文件處理,PowerPoint,進階班可能有 Excel,Access…… 參加各種微軟認證考試,MCSE,MSDE 的人絡繹不絕。考試輔導班都貼出了"280元,考過為止"之類的字樣。考試參考資料更是昂貴,有些電腦書店整整兩書架都是"Microsoft Press"的東西。我有個同學參加認證考試,每門考試都要200多元。而且你一次考不過可以再考,又要交錢。他後來還津津樂道跟我說,看我,花了 XXXX(一個四位數)元考過了微軟認證,得到一張比爾蓋茨親筆簽名的證書和價值6000元的 Windows XP 內部發行版。
  "電腦要從娃娃抓起",我們再來看看娃娃們學的是什麼。大部分家長給孩子買了電腦之後,他們首先就會裝一個盜版的 Windows,然後買來盜版的遊戲開始玩。如果哪個孩子會用 Delphi 編程序,那可不得了。報社記者,電視台爭相報導,說,某某學校的初中生某某,在別人都還在玩電腦遊戲這種"初級階段"的時候就已經用 Delphi 寫程序了。鏡頭還瞄準了他顯示器上面的像項中的比爾蓋茨頭像!
  我剛進入大學電腦系時還不懂得什麼是作業系統,因為我以前只用過"中華教學機"。看到新入學的同學們各個談論的都是 "Windows 95","VC"…… 我簡直覺得我落後了好幾十年一樣,整個一土人,根本跟他們答不上話。好不容易找到一個比較熟的同學問了一下:"你們天天談論的瘟95是什麼啊?"答: "win95就是一個作業系統,跟DOS是一類。""朵死是什麼?" "你連DOS都不知道是什麼?別在電腦系混了。" 學校上課當然不講VC編程之類的東西,但是上 Pascal 的老師有一次就說:"嗨,我們學校真是落後。現在別人都用 C, C++,甚至 VC 了,我們還在講 Pascal。不知道什麼時候才能有VC課啊。你們出去也是要用VC的,只好自學了。" 於是,有些同學很多時候上課都捧著一本很重的"Windows 編程大全"之類的書,根本沒有聽課。吃飯時就唸唸有詞的跟我說,"程式碼的最佳化是無止境的","匈牙利命名法真是偉大的發明" …… 這就是中國很多大學電腦系的情況。
  感覺到無知了?這不是偶然的,而是微軟長久以來埋下的伏筆。它要讓無知的大家都把它奉為神聖,它要讓支持UNIX,Xwindow的人一旦說 UNIX 好,Xwindow 好的時候,都被一群人圍著說教:"這個 Windows 也能做到","你對 Windows 有偏見","微軟才是主流啊","你敢瞧不起 win2k?",".NET 就是世界潮流","微軟的畢竟是新技術","有錢就是有技術"…… 甚至在一番論戰比較後敗下來還是要說:"Windows 效能差點,但是易用性強","Windows 是老百姓用的,要求別那麼高,微軟那麼有錢,以後想超過 UNIX 還不容易嗎?"……
  發達國家的電腦教育
  我前段時間在 USENET 發文問有關 Scheme 語言的問題時,認識了一位丹麥人。他解決了我所有的問題,並且建議我閱讀一些很"深奧"的有關程序語言語法,文法的書,他告訴我很多網站可以教學 LISP,Scheme,人工智能,算法。他叫我看 Jonathan Rees 的論文 "Syntactic Closures"。他還打包給我寄過來一份 MIT 的 "How to Design Programs"。他說他在自己的 PC 機上裝的是 Linux,他用 Emacs 編輯,執行Scheme 程序。他對 Emacs 的瞭解和愛好真是使人驚奇。他大學本科畢業時做的畢業設計是一個 Scheme 解釋器。這對於我來說是望塵末及了。
  他是那麼的不厭其煩,我的每一個問題他都詳細的回答。我有時都覺得過於詳細了,怎麼這麼耐心啊?我覺得他似乎是我的高中老師。他是什麼樣的人呢?我好奇的打聽了他的情況。原來,他是丹麥一所普通高中的電腦老師。
  他說他在高中裡講授程序設計和算法,電腦語言文法。他說用 Scheme,他的學生不用再為記憶體洩漏等程序語言本身的問題而煩惱,而專注於問題和算法本身。有利於培養學生解決問題的能力,特別是用電腦解決數學問題的能力。
  天哪!為什麼歐洲出現那麼多數學家,幾何學家?你看看別人重視的是什麼!我們的電腦教育如果繼續這樣下去,只會沿著彎路越走越遠!
  微軟和它的朋友們的如意算盤
  下面來看看微軟的收入是怎麼來的。首先,Windows 98系列作業系統,一個就是 100多美元,每次昇級又是幾乎同樣的價錢。Windows NT 還要貴幾倍,而且有用戶數目限制,5個用戶的,10個用戶的…… 以後如果要增加用戶數目還要按比例付錢。
  花了如此多錢買來的作業系統就能用了嗎?它竟然連壓縮程序都沒有提供!你裝上Windows 之後一般第一件事就是去下載一個 WinZip 吧,"只要 29 美元"。Windows會中病毒啊,馬上花 70 美元買一個 Norton AntiVirus 吧。還有黑客呢?再買一個Norton Internet Security 好了,100 美元。系統需要最佳化,磁牒需要整理,買一個Norton System Works 是你最佳的解決方案,100美元。
  可是你現在還是不能幹正事啊!你想要一個 Word, PowerPoint?那就買一套 Office XP 吧,一起買便宜些,9.90。
  那些程序不會用啊!那些表單怎麼設定,到底有什麼功能啊?看"說明 "也學不會。買本書看看吧,我推薦"Special Edition Using Microsoft Office XP",不貴,.99。這本書裡面大部分是螢幕抓圖,還是買一本舊的比較划算,.85。
  你如果只是當個秘書,上面的差不多還湊合了。可是你有更高的追求,你想成為 Windows程序員。首先買一個 Visual Studio.NET 吧,要不然怎麼編譯程序。4.95。
  為了緊跟微軟動向,世界潮流,不能不註冊個 MSDN 什麼的吧?這個貴一點,不過物有所值啊,,799。
  嗯,你現在已經是上層階級,白領人士了。你現在可以像這樣"自由"的,"安全"的生活了。
  為什麼要反對使用 Windows
  很多人都說不應該完全否定 Window,Windows 也有它的長處。不應該罵微軟。
  對。Windows 容易操作,適合普通用戶。如果微軟把它自己定位在 P&G,Philips 那樣的地位,能夠給我們的百姓提供週到的,完善的,價廉物美的服務。那我肯定是很喜歡它的。但是從上面的種種情況說明,微軟是一個野心極大的國際壟斷組織!它的產品沒有一個是不出問題的:Windows 不穩定,容易中病毒,而微軟不為大家免費提供殺毒軟體。我就是要讓你們花錢買我的朋友 Symantec 的殺毒軟體,誰叫你們已經上了我的賊船?這叫什麼售後服務啊!
  你買來微軟的程序,安裝的時候一般都有一個傳輸協定,說:"由於微軟的程序造成你的資料損壞或丟失掉,微軟概不負責。" 我想很多人肯定覺得這個不合理,不想按那個 "I accept"。但是你的軟體買都買來了,錢都花了,現在一按 "I decline",安裝程序馬上就會結束。你只好被迫點擊了 "I accept"!這不是不平等條約嗎?
  我已經目睹了好幾個朋友的我的文件被 Microsoft Word 損壞,有的是編輯了十多天的30多頁的論文,有的是費了很大工夫做出來的個人簡歷,那個朋友為此失去了到自己嚮往的P&G 工作的機會。就在他要投簡歷的前一個晚上,就在那一瞬間…… 不知道他痛哭的時候有沒有想起要投訴微軟,可是誰叫我們用的都是盜版呢,況且你還點擊了 "I accept"。
  微軟仗勢已經佔有大部分PC市場,制定不符合國際標準的"微軟的標準",以不合理的方式壓制其它公司的軟體,這個問題已經在美國司法部鬧了很久了。他甚至在 Windows系列作業系統中放置能夠通過網路洩漏用戶訊息的程式碼,以至於 Windows 剛進入澳大利亞時被澳大利亞政府禁止使用。
  有些人說:"微軟畢竟開創了一個歷史,造就了今天的 IT 行業。" 但是,如果沒有微軟,我們今天早就用上非常穩定,非常可靠,非常方便,非常"傻瓜"的軟體了!微軟是阻擋資訊科技發展的罪魁禍首。
  微軟的程序的工作方式(注意,我只是說操作方式,病毒的事情另外算)確實適合於一般家庭,上上網,發發郵件,打打遊戲都不錯。可是微軟卻要把自己包裝成什麼"高科技"企業,要在世界各地設定"研究院",在大學電腦系贈送不適合用於科研的 Windows產品,甚至出錢請圖靈獎得主來中國暢談"二十一世紀的計算",還在大會上宣傳自己的 .NET 技術。非要把別人認為自己是科學的,自己是上司世界高科技的。但是呢?它什麼高科技也沒有。歐洲,美國,哪一個關鍵部門在用微軟的東西?NASA? DOE? CERN?你仔細想一想,微軟的程序對人類到底有什麼重大作用?
  什麼是 Windows 能幹而 Linux 幹不了的事情?---"Windows 能幹而 Linux 幹不了的事情,那就是不需要幹的事情。"
  有個朋友看我半年沒有用 Windows,有時就會問我:"你只用 Linux,有沒有發現有些Windows 能處理的事情 Linux 幹不了?",我回答說:"Windows 能幹而 Linux 幹不了的事情,那就是不需要幹的事情。"
  Windows 能做的有益的事情 Linux 都能做,Windows 下的某些功能確實是我們需要的,那麼 Linux 的開發者們和用戶也需要這種功能,他們就會去實現這種功能,而且比 Windows 的方式好得多。由於大多數科學家,工程師用的都是 Linux 或者某種商業 UNIX, 所以幾乎所有商業的科學工程程序,比如Matlab, Mathematica, AutoCAD, Candence的,Synopsys的,Avant! 的……全都是先有UNIX 的版本(包括Linux),然後再考慮移植給 Windows,甚至根本不移植給Windows,因為 Windows 的機器一般沒有足夠的能力執行這樣的程序。你不要以為只有 Windows 才有 PSpice, UNIX 的 HSpice 要好得多,而且可以執行在大型主機上。當然它們不是免費的,但是它們值那個價錢。
  但是 Windows 下有些東西在 Linux 下沒有很相似的,或者你找到很多類似的,但是它們每一個比起 Windows 的那個程序都要差很多,那麼原因有兩種可能性:
  有一個完全類似的程序,但是由於它乍一看不漂亮,被你忽略了。而其它程序雖然看起來很漂亮,但是它們是一些初學編程的人寫的。現在由於 Gtk, Qt 的誕生,Linux 下開發圖形介面程序極其簡單,很多初中生甚至小學生都可以隨手編出一些漂亮不中用的程序。如果你整天尋找這樣的程序挑來挑去,永遠也找不到你滿意的。當然也有一流的程序用 Gtk 和 Qt,比如 GVIM 就可以用 Gtk 作為圖形介面,我還知道 Synopsys 一些程序用了 Qt。
  我曾經也犯過這樣的錯誤,從外表區分一切。結果優秀的 FVWM, lftp, Mutt, wget 都被我忽略過。當我找回它們的時候,我是那麼的羞愧不已,它們現在都是我的朋友我第一次看到 FVWM 覺得它只不過是一個有很厚很難看邊框的東西。可是現在,我的同學看到 FVWM 都說:"哇!真漂亮。"
  有另一種完全不同的方式可以達到相同的目的,甚至更好。
  很多人很關心 Open Office, Star Office, AbiWord, ... 他們多麼盼望有一天某一個Linux 程序能夠完全相容的開啟一個複雜的 doc 我的文件。但是你永遠也不可能有那一天。為什麼呢?因為微軟為了佔有市場,必定不會讓其它系統的程序能夠完全相容它的我的文件格式。它一定會不斷變化 doc 我的文件的內部結構,隱藏一些秘密,讓其它公司的程序開啟 doc 我的文件時總是有某種問題,從而你必需購買 Microsoft Office 和 Windows。
  你應該想一下,那麼多的高智商的大學教授,科學家,學生,他們用的都是 Linux 或者其它檔案類型的 UNIX,他們沒有 Word 可用,怎麼處理我的文件呢?這麼多年沒有一個像Open Office 的程序出現,難道大家沒有辦法寫我的文件嗎?
  顯然不是這樣。你看看那些高水準的學術雜誌,論文,那些大學教授的網頁,那些漂亮的幻燈片,它們是什麼做的?原來 UNIX 用戶早就有非常方便的 troff, LaTeX, SGML等東西可以處理我的文件,而且它們比起 Word 都要高明的多。Word 顯然被這些大拿忽略了,以至於很久以來沒有人想在 Linux 下開發一個類似 Word 的程序,除非某些公司想搶微軟的飯碗。
  很多人留著 Windows 在硬碟上的原因無非是為了用 Word 和 PowerPoint。我見過一個教授,他的 Windows 筆記型電腦上除了 PowerPoint 什麼都沒有。有一天演示的時候,他指著堆亂字元說:"對不起,這是一個公式……怎麼每次都是這樣……" 其實有比PowerPoint 好幾百倍的東西可以製造幻燈片,你可以用最簡單的方法製造世界一流效果的論文和幻燈片。你待會兒可以看看我的TeX網頁,你就會知道為什麼我可以完全離開 Windows。
  Windows 能做的那些沒用的事情 Linux 永遠做不好
  電腦遊戲
  有些人說 Linux 下不能玩 Windows 下所能得到的所有遊戲。的確,Linux 下雖然也有少量的遊戲,比如 Quake。但是它沒有 Counter Strike, 沒有 Star Craft, ……
  並不是說電腦遊戲不該玩,但是應該適可而止。電腦是用來處理事務,說明 你教學,解決問題的工具,而不是一個玩具!整天沉迷於電腦遊戲中,而不出去感覺外面的世界,你會變得越來越冷酷,越來越缺乏人情味。你與真實的世界越來越遠。
  你可以在 CS 裡殺人,你可以在 Tomb Raider 裡探險,你甚至可以在 Tony Hawk's Pro Skaters 裡滑板…… 但是 It's not real!你雖然有很高的"反恐技巧",但是遇到歹徒的時候,你是那麼的怯懦;你雖然控制 Laura 伸手敏捷,但是你打籃球的時候怎麼總是被人斷球?你雖然可以輕易的在 THPS 裡作出一個 "360 kickflip to hangten grind to fakie",但是你踩在自己的滑板上的時候還不會 ollie!
  說回來,如果你偶爾玩一下電腦遊戲未嘗不可。但是世界上有遠比 Windows + PC 更好的遊戲方式。Sony 的 PlayStation2, SEGA 的 DreamCast, Nintendo 的 N64,Namco的游樂機……每一個都比 Windows 遊戲精彩,每一個都有如此高的3D效能,以至於Pentium4, Itanium + GForce4 都無法與它們比美!
  Linux 的用戶們都是關心解決世界的關鍵問題的份子,他們哪裡有時間用自己的機器來玩遊戲啊?他們每天用Linux高效的做完自己的工作就到陽光下享受自然去了。要玩遊戲也是玩一些類似推箱子,貪吃蛇之類的智力小遊戲。所以,你知道為什麼 Linux 幾乎沒有遊戲了吧?
  "整理硬碟,最佳化系統"
  這是一個非常有意思的話題,僅次於有關"病毒"的話題。相信很多 Windows 用戶都有整理硬碟的經歷。在很多 Windows 用戶眼裡,"硬碟用久了,會出現碎片,速度會減慢,需要一個程序來整理,整理硬碟的時候不要做其它工作",這好像是天經地義的事情。
  我也曾經津津有味的看著 Norton Defrag 一點一點的把我的硬碟排序,調整,用圖形的方式顯示出來,然後報告100% 沒有碎片。你的硬碟現在已經達到最佳狀態。" 我現在才發覺我那時是多麼的幼稚。
  Linux 和 UNIX 用戶似乎從來沒有"整理硬碟"這種說法呢?你覺得很奇怪嗎?如果你覺得很奇怪,那說明你的思想在某種程度上被微軟的LJ程序禁錮了。你需要明白,UNIX 的大型主機很多必須是一天24小時,一年365又1/4天不停運轉的,要是每個星期都要整理一次硬碟,在整理的時候幾乎不能幹任何事情,那是絕對行不通的!
  Linux 機器根本不用整理硬碟,這就是為什麼沒有看到過 Linux 用戶整理硬碟。Linux 的文件系統是比 Windows 的 FAT, FAT32, NTFS 高明得多的文件系統,它們不但可以對文件設定權限,實施完全的保護,而且可以"越用越整齊","越用碎片越少"!你應該把文件大部分放在 Linux 的分區,而不是 Windows 分區,因為它比 Windows分區可靠得多。
  還有更滑稽的事情就是有很多"Norton System Doctor","Windows 最佳化大師","超級兔仔註冊表魔法" 之類的程序存在,而且價格昂貴。似乎一個作業系統本來應該有很多問題,需要別的廠商做程序來"最佳化"它,而且為了得到最佳化,你需要付錢!這些問題 Linux 根本就沒有,所以不需要什麼最佳化。Linux 內核本身就是高度最佳化的。
  IDE
  有些人在抱怨為什麼 Linux 沒有一個良好的 IDE 開發環境。Linux 現在已經有一些IDE 了,但是總是有很多問題。你是不是正在尋找,正在期望 Linux 某一天可以有一個VC那樣的開發環境?你有沒有發現你正在進入微軟給你設下的怪圈?你為什麼一定要用 IDE?你說:"IDE 開發迅速,偵錯方便,適合大型程序……" 那說明微軟的程序在你腦子裡已經比較根深蒂固,你需要好好清醒一下了,看看我來告訴你。
  高明的 UNIX 程序員不用 IDE,IDE 從來就是給初級 Windows 程序員用的。
  你看看大型的 UNIX 程序,包括 Linux 內核,各種網路服務程序,Xwindow 程序在內,哪一個是 IDE 搞出來的?我們實驗室的 EDA 程序也沒有一個是 IDE 弄的,我還知道Candence, Synopsys,Mentor 的高效能的圖形介面 EDA 程序也都不是 IDE 寫的。你信不信,微軟的人在寫 Windows 本身的時候也根本不用 IDE。微軟內部程序員最喜歡的編輯器其實是 VIM,用 VIM 的微軟程序員上次向烏干達的可憐兒童捐助了1000多美元,這是值得稱讚的。
  有一次某雜誌採訪一些出名的 Linux 內核程序員,包括 Linus 在內,沒有一個人用IDE,有的人用 VIM,有的用 Emacs,只有 Linus 說"GNU Emacs is evil",但是其實他用的是一種跟 Emacs 有同樣鍵綁定功能的 MicroEmacs。大家都是用編輯器編輯了程式文件,然後用 make 這樣的自動工具使用 gcc 編譯器完成編譯工作的。甚至進階的 Windows 程序員也不用 IDE,他們可以從指令行使用 cl,nmake 來編譯自己的程序。雖然這樣的 Windows 程序員很少,但是他們卻是最瞭解 Windows,最高明的Windows 程序員。
  為什麼 UNIX 程序員不用 IDE?明白了這個道理你就能體會到 UNIX 的設計思想了。首先,一個 IDE 整合了編輯器,編譯器,彙編器,偵錯器,跟蹤器…… 這個編輯器功能肯定比不上 VIM 或 Emacs,編譯器比不上 GCC,彙編器比不上 as,偵錯器比不上 gdb,ddd, 跟蹤器比不上 strace, ltrace, truss。你得到的是一套整合的低能的程序。如果你對偵錯器的功能不滿意,你只好換用另外一套 IDE,但是這套 IDE 的熱鍵,表單,編輯器功能,按鈕…… 跟原來那個有很大不同。你不得不花很多時間來熟悉新的環境,而不能保持原來的某些東西。
  而在 UNIX 下就不一樣了。你可以用你最喜歡的 VIM 編輯程序,你在 VIM 裡可以使用GNU make,make 可以使用 gcc, ld, ... make 的出錯資訊可以被 VIM 捕獲,VIM 能幫你在源程序裡定位。你如果喜歡 icc, 你可以讓 make 用 icc 而不是 gcc。你如果覺得 gdb 跟蹤變數時比較麻煩,你可以用 ddd 來顯示各種資料結構之間的關係。你還可以在 Emacs 裡使用 gdb,那樣就可以同步顯示來源碼了。而且 VIM 和 Emacs 還可以編輯很多其它東西,比如郵件,LaTeX 我的文件,HTML,組態文件…… 你不用另外找一個什麼編輯器來幹這些雜活了。很多程序比如 Mutt, tin 都可以在內部使用 VIM,這樣就更方便了。實際上 make 在其它方面還能幫你很多忙,我的每一個比較大型的 LaTeX我的文件都是用 make 維護的。
  Linux 能幹的高精尖的事情 Windows 都幹不了
  當然有很多事情是Linux/UNIX的專利了。因為 Windows 只能裝在 PC 機上,好像以前也有 Alpha 可以使用 Windows NT,但是就是沒見到有人用。PC 機的能力是很低的,像我們編程序處理 NP-Hard 問題的人,用 Windows 的機器顯然速度不夠,而且有時一個問題算上幾天甚至幾個星期,Windows 機器是以"當機"著稱的,我們怎麼能放心?所以幾乎所有科學計算程序,EDA 程序,高效能圖像處理程序都不是 Windows 的。他們有時也會移植一些給 Windows,但是常常降低那些程序的能力。你比較過 Windows 版本的 Mathematica 和 Linux 的有什麼區別嗎?
  IBM 製造的最大的並行電腦有 8000 多個處理器,Windows 不可能有能力管理這麼多處理器,它用的是什麼作業系統?答案是 Linux。
  《泰坦尼克號》電影裡的三維動畫,那麼細膩逼真,Windows機器能做出來嗎?不行。那也是 Linux 機器做的。
  民航總局用來訓練地情人員的虛擬現實訓練設備,Windows 當然無能為力。那都是商業的 IRIX 機器。
  UNIX 是最早支持 TCP/IP 網路傳輸協定的系統。它上面有很多可以互相協作的網路服務程序,它們經過多年的使用和修訂,已經達到比較完善的程度。而就在1997年,微軟的比爾蓋茨還在揚言:"Internet 是沒有前途的。" 微軟的這個"遠見卓識"大家應該都已見識,它後來加上的網路服務程序IIS漏洞之多,讓公安部都頻頻發出警報,大家也是見識了的。
  其實你知道了,Windows 沒有一樣有用的事情能比 UNIX 幹的更好。
  Linux 幹不了的有用的事情 Windows 照樣幹不了
  當然 Linux 不是萬能的。它也有不能幹的事情,電腦也有幹不了的事情。但是 Linux幹不了的事情,Windows 肯定也幹不了。這些事情就是我們需要探索,需要努力的事情了。在你探索的程序中,Linux 必定是你的好夥伴。
  不要把Linux和Xwindow掩蓋起來!不要把我們的用戶當成傻瓜。
  什麼?你早就知道 Windows 是LJ?噢!你怎麼不早說呢!害我廢話這麼多。嘿嘿。
  "好了。你知道 Windows 是LJ,你現在用什麼?"
  "Linux + Xwindow"
  "那我問你,Xwindow 是什麼樣的?"
  "不就是跟 Windows 差不多嗎?只不過 'Start' 按鈕比較方,而且上面不是一個Windows 標誌,而是一個腳丫子。點擊一下居然還有很漂亮的中文表單。我喜歡!"
  "你知道什麼是'根視窗'嗎?"
  "不知道。從來沒聽說過呢?"
  "根視窗就是遮蓋整個螢幕的那個最大的視窗。"
  "哪兒有什麼視窗啊!我沒有看到呢?"
  你發現了問題嗎?這些 Linux 用戶說是在用 Linux 和 Xwindow,但是他們對 Linux和 Xwindow 幾乎完全不瞭解。很多人用了那麼久 Xwindow 都不知道根視窗是什麼東西,不知道其實按鈕也是視窗,不知道視窗管理器和其它程序有什麼關係,大家都以為視窗上面的按鈕是程序自己放上去的,不知道視窗 "class name","resource name"是什麼東西。他們也不知道 .Xdefaults 是用來幹什麼的。特別是他們很多人都不知道 Xwindow 的字體是如何命名的,什麼是 fontset,有了一個新的字體也不知道怎麼安裝。
  他們被遮在 Linux 之上的一層一層的包裝迷惑了,他們等待有圖形介面的工具來說明 完成一切事情,他們認為 Linux 跟 Windows 一樣,只是麻煩一點。他們知道 Linux內核很好,但是他們感覺不到 Linux 和 Xwindow 在操作層面的天生的先進性,隨後不久就把 Linux 完全移除掉了。你發現沒有,要用戶理解 UNIX 和 Xwindow 的操作層面的先進性,才是留住用戶的最好辦法。如果用戶體會不到操作時的方便和高效,內核再好他們也不會理會。
  但是用摹仿 Windows 的作法來吸引用戶,永遠會失敗的。因為 Linux 如果摹仿Windows那一套低效率的方式,那麼 Linux 的這套"低效率方式"永遠比不上Windows 的那一套"低效率方式"。那麼用戶就會說:"這個 Linux,沒有一樣比的上 Windows。"
  Linux 天生就是繼承了 UNIX 的高效的工作方式,為什麼我們要把它掩蓋起來?我們為什麼只告訴用戶 KDE 的表單怎麼用?我們為什麼不能像早期的 Xwindow 書籍那樣第一節就告訴用戶什麼是 X server, 什麼是 X client,什麼是 Window Manager, 什麼是根視窗。第二章就告訴用戶視窗有哪些內容,什麼是 classname, resource name, hint,怎樣使用 .Xdefaults, xrdb ……
  在這裡我又不得不說一下那些 Linux 的發行公司和寫書的人,他們把 Linux 和Xwindow 包裝起來,卻沒有從基本上告訴用戶 Xwindow 的工作原理。很多書籍講授的層次就是在Gnome, KDE 的表單操作的層次,靠大量抓圖來佔篇幅,"繁榮"Linux 書籍市場。
  現在很多人已經把能夠利用別人的庫寫出一個好看的程序作為自己編程水準的象徵。在這"圖形化","可視化" 的年代,你如果還在用 troff, LaTeX 寫我的文件,你還在用VIM 自己編輯 HTML,用 Mutt 處理郵件,你還在用本文模式的 gdb 偵錯程序,你還在用Xlib 寫程序, 你還在用 tin 上 USENET,你還在自己寫 Makefile,寫機器程式碼,你還在玩 Clossal Cave 這樣的字元模式冒險遊戲,那你就是老古董。
  其實這種思想是錯誤的。雖然你是一個堅決的 Linux 支持者,但是你的思想是 Windows的思想。你認為圖形介面,表單,按鈕就可以解決一切問題,就可以給你高效方便。你還是沒能擺脫微軟給你的潛移默化的東西。你其實離不開 Windows 那樣的環境,你遲早會刪掉自己的 Linux。
  GUI vs. CLI
  做一個堅定不移的"兩面派"
  大家看到這個標題是不是熱血沸騰?兩派大蝦都可以圍攻我了:
  GUI派用戶:"哇!我一看你這小子就是 CLI 的。要不然自己寫什麼 Makefile?用什麼Mutt?"
  CLI派用戶:"切∼ 你還用 X!高手都不用 X。你是 GUI 那邊的。"
  可憐的我:"555∼∼ 你們都不要我∼∼ GUI 和 CLI 就那麼水火不容嗎?"
  電腦界這樣的門派之分還很多。很有特點的就是 CLI 和 GUI 了。CLI (Command LIne)的狂熱份子聲稱永遠不用 X。我上次在實驗室看到一個同學用一個 SecureCRT 登入到Sun 機器,然後用一個 vanilla vi 編輯程序,我建議他啟動一個 GVIM 過來顯示在Exceed 上可以有語法加亮。但是他堅決反對,說:"高手不用X。你想想,要是我在一個很慢的網路連接怎麼用 X?而且好多伺服器沒有裝 X 程序。"
  但是我們實驗室的網速可夠快,Windows 機器都有 Exceed 啊,而且 Sun 機器有全套X 客戶程序包括 GVIM。他說他是 CLI 的堅決擁護者,但是他卻在用 Windows,他後來開啟了好幾個 SecureCRT,每次從文本框輸入位址,用戶名和密碼,從下拉表單選項"SSH2",然後點擊"Connnect"。他還不斷的誇SecureCRT 是"網路管理員投票選出的最受歡迎的登入方式"。老天,SecureCRT 本身就是個 GUI 啊,他其實沒有明白Xwindow 的好處。
  你說我是 GUI 的?我雖然很少在 console 下工作。但是我對 bash, VIM 很熟悉,我可以讓 bash 按照我的鍵綁定方式來工作。我可以在 rxvt 裡使用 Mutt 來收發 email。我的每個桌面上都常常堆放著一打不同大小的 rxvt。我用 VIM 編輯 LaTeX。我自己寫Makefile 來維護 LaTeX 我的文件。我有時用 mpg321 來放 mp3。我上BBS用的我自己寫的expect 指令碼。 好了,CLI 派的朋友可以收我做盟友了
  你說我是 CLI 的老古董?我的 FVWM 被我組態為可以"手寫操作",我只要畫一個"r"就可以啟動 rxvt,我只要畫一個 "U" 就可以啟動 GVIM,…… 我用 GVIM 語法加亮模式編輯程序,我用 Mozilla 瀏覽網頁,…… GUI 派的現在好像認我做朋友了
  好了。CLI 派的朋友,雖然我很喜歡指令行,但是我有時在螢幕上左右畫一下就可以執行:
  Module FvwmConsole -terminal rxvt -geometry 45x5-0+0 -bg gold -fg midnightblue -fn "-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*"
  你是不是現在又想把我逐出師門?
  GUI 派的朋友,雖然我很喜歡視窗。但是我可以在 FvwmConsole 裡輸入:
  All (rxvt) MoveToDesk
  把我所有的 rxvt 移動到我現在工作的桌面。"這傢伙,怎麼這麼快就叛變了!"
  其實何必分什麼 GUI 和 CLI,UNIX 和 Xwindow 都是工業標準,它們從設計那天開始就有非常靈活的用法,各個程序,不管是 GUI 還是指令行的都可以互相協作。UNIX 和X 是一家,何必搞的那麼偏激,非此即彼?你從我上面的行為可以看出 GUI 和 CLI的模糊界線嗎?我就是堅定不移的"兩面派"。
  UNIX 是簡單的
  "我相信簡單就是最好,如果太複雜,我是不能理解的。" -Seymour Cray
  很多第一次用 Linux 的人會驚奇的發現,Linux 的程序居然不"安裝"就可以執行,程序拷貝到隨便那個目錄都可以用,而不是一定要佔用你第一個分區的空間。程序的設定只是一些簡簡單單的文本文件。你根本不需要什麼"註冊表修改器" 就可以改變系統的設定。這就叫做簡單,但是簡單就是美。雖然這只是 UNIX 簡單性的一個膚淺的認識,你已經體會到了某些東西。
  但是簡單並不意味著功能弱,並不意味著落後。相反,簡單意味著強大,意味著生命力。
  我不會再繼續闡述我理解到的"UNIX 的簡單",因為這個需要自己去體會。
  UNIX 是永恆的
  有人說:"Plan9 會取代 UNIX,Mach 會取代 Linux 內核。"
  但是你如果是一個深入體會了 UNIX 的人,你就會知道:UNIX 的思想是永恆的,不管時過境遷,Plan9 是否替代 UNIX,UNIX 的靈魂都會在 Plan9 身上現形!
  我為同一個設備寫過 Linux 內核和 Windows VxD 驅動程式。寫 Linux 驅動程式時,我對 UNIX 設計的完美的一致性,遠見性所折服。UNIX 用同樣介面的 read(), write()系統使用就可以對不同的對象:普通文件,設備文件,管道,管道文件,socket,……進行統一的讀寫操作。我跟本不需要寫一個測試用的應用程式就可以對我的設備驅動進行測試,因為 cat, cp, dd, 它們也使用了同樣的 read(), write(),設備和普通文件在應用程式眼裡沒有區別。在那個還沒有 Smalltalk, 沒有 C++ 的年代,UNIX 的設計者已經使用了所謂的 "物件導向方法"。對,C 語言也可以實現物件導向。
  UNIX 的系統使用幾十年都沒有很大變化,這非但不是頑固,不進步的象徵,反而是UNIX 的遠見卓識的體現!這就跟 TeX 程序幾十年都不變的情況差不多。這些才是真正的永恆的 master piece! 你應該改變所有軟體都必需從 0.1, 1.0, 1.1, 1.2, 2.0,..., 3.0, 3.1, 95, 98, 2000, XP, ... 不斷昇級的想法。
  Windows 就不同了,它在最開頭只是一個 DOS 之上的圖形包裝而已。後來為了相容以前的糟糕設計,不得不加上很多累贅。我寫 VxD 驅動程式的時候就深有體會,Windows 95 程序對設備的操作只有用 DeviceIoControl,我不得不寫了兩個應用程式來對設備驅動進行測試。Windows 內核的不一致性和隱密性使我非常惱火。不過 Windows WDM驅動程式現在也有了 ReadFile, WriteFile,…… 那說明什麼?那說明 Windows 在向UNIX 教學,或者有可能是某個 UNIX 設計人員在微軟打了幾天臨工,順手加了幾個UNIX 的東西進去。這樣做是沒有用的,Windows 從一開始就是非常糟糕的設計,它的歷史的包袱太沉重了,縫縫補補有什麼用?它只能永遠的被 UNIX 甩在身後!
  UNIX 是強大的
  讓聰明人幹任何他們想幹的事情。
  UNIX 的一個特點就是非常高的靈活性,Xwindow 也具有這種靈活性。這種靈活性體現在哪裡呢?
  UNIX 的程序一般都有很多參數,不管你現在用的著用不著,總有人需要某些參數。它們的行為很多都可以用組態文件來改變。比如 GNU bash, 通常預設的指令行輸入方式是 Emacs 方式,但是只要我編輯一個 .inputrc 文件,就可以把它變成 vi 的輸入方式,而且我還可以自己綁定鍵序列到某些操作。我可以用 shopt 來設定它的很多特點,比如是否進行萬用字元增強,是否可以把一個變數當作一個目錄來cd,是否可以自動改正某些明顯的目錄名打字錯誤 ……
  UNIX 程序設計的思想是提供給用戶"機制",而不限制用戶制定"政策"。這是一個重要的尊重用戶的作法。
  我們再來看看 Xwindow。Xwindow 是一個出色的設計,它把顯示伺服器和客戶程序分開。一個顯示上既可以顯示本地機上的程序,也可以顯示別的電腦上的 X 程序,而它們都遵守你的視窗管理器的統一指揮,它們之間可以方便的傳送剪貼版資料,各種事件 …… 比如有時我的 XFree86 上會出現四個不同電腦上的 XTerm,兩個不同電腦上的 GVIM,…… 它們統一受本地機上的 FVWM 指揮。
  Xwindow 程序都具有很多很多指令行參數和 resource 參數。你可以隨意的在指令行或者 .Xdefaults 文件設定所有的顏色,字體,尺寸…… 而且如果你用 xrdb 把 .Xdefaults 匯入到根視窗,那麼其它電腦上沒有經過組態的同樣的程序,顯示到你的電腦上的時候也會遵守同樣的外觀規定。
  Xwindow 的視窗具有 Property, 也就是一些可以自己定義的共享資料(原子)。正是因為這些 Property 的存在,使得 Xwindow 具有無比強大的生命力。X 的視窗管理器和其它客戶程序之間並沒有統一的傳輸協定,但是後來出現了 ICCCM(客戶程序間通信規範),這個規範就是通過 property 定義的。現在又有人定義了一套"增強的視窗傳輸協定(EWM Hints)",使得Xwindow 可以具有某些 Windows 的特徵,比如一個工具條程序可以告訴視窗管理器:"這個螢幕下面被我佔據了24個像素的空間,你最大化程序的時候不要越過這個界線。"
  一個強大的視窗管理程序比如 FVWM,它收到這樣的提示時,可以答應工具條程序的這個要求,也可以不答應。一切選項的權力在於誰?當然是用戶了!
  你想想,是不是有些 Windows 程序常常彈出一個視窗要你選項 "Yes or No"?你不點擊它它就不下去。你覺不覺得你的程序在侵犯你的尊嚴?你是一個人,一個智慧的生物,怎能受到一個程序如此的待遇?
  還有就是很多 Windows 程序把人當成傻瓜,而它是"智能程序"。比如,有一個程序就是喜歡把你的每句話第一個字母都變成大寫,我不說它是誰了,你遇到的時候就知道了。
  如果連"一句話開頭一個字母要大寫"這麼明顯的問題都需要程序幫你改正的話,人腦還用來幹什麼?況且如果你故意想要不大寫的話,那就更麻煩了,我楞是沒有從它那一大堆表單裡找到怎麼關閉這個愚蠢的選項。
  只有符號才能完全操縱電腦。
  我們來說說很多初學 Linux 的用戶。雖然他們在用 Linux,但是他們打心眼兒裡是覺得Windows 的工作方式好,他們希望 Linux 有一天能"像Windows那樣"。你說:"我的滑鼠一點,我表單一拉,…… 就可以完成我的操作。" 但是我要告訴你:"Linux 從來沒有摹仿 Windows,將來也不會。Linux 從誕生之日起,它的工作方式就比 Windows 的先進。
  Linux 屬於能勇敢面對符號的人。只有符號才能完全操縱電腦。"
  看看優秀的 UNIX 程序,XFree86, FVWM, VIM, Emacs, proftpd, Mutt, wget, tin, ... 沒有一個不是用組態文件來設定選項的。為什麼這些程序沒有方便的表單可以用來組態?難道它們的設計者就那麼低能,連個圖形組態介面也寫不出來?
  當然不是。因為圖形介面組態方式的能力是極其有限的,而組態文件和程序語言的表達能力卻是無限的。用圖形介面組態這些程序的話,如果你想達到組態文件的效果,你需要成百上千的表單,checkbox, radio button, ... 到時候你根本沒辦法找到你需要修改的地方了!而各個程序的組態文件的語法都有很多相似之處,一般就是一些指令,設定一些變數,參數,…… 一旦用會了一個,其它的也就容易理解了。如果你用慣了 awk, sed, Perl,你會覺得那才是真正的自動化啊。
  滑鼠雖然是很好的工具,但是它的表達能力是有限的。你不可能光用滑鼠就讓電腦完全明白你的意思,它畢竟只有3個按鈕。看看我的MetaPost頁你就能體會到滑鼠的這一弱點。所以我們雖然很喜歡滑鼠,但是卻不能完全依賴它。
  各個小程序的完美配合
  這就是UNIX最重要的特點了,它就是UNIX設計的思想。讓每個程序只具有一項專門的能力,然後讓它們合作。Xwindow也繼承了這種好傳統。這恐怕就是Windows和其它作業系統望塵末及的地方了。UNIX 程序設計之統一,配合之完美,真使我難以置信!shell, grep, find, awk, sed, make, Perl, Emacs, vi, tin, Mutt, ... 它們是那麼的具有一致性!你一旦學會了 sed 的正則陳述式,其它程序基本上都能用了。你一旦學會了vi 和 VIM, 你會發現它的操作是那麼的有規律性,似乎vi的設計者在幾十年前就已經設計好了 VIM 在今天的完美而統一的操作方式!而且vi的操作還體現在 Mutt, tin 等很多程序中。你甚至可以把 bash 設定為 vi 的輸入方式來輸入指令行,我就是這麼做的。一個程序可以使用另外一個程序來得到資料,可以把資料交給它處理後返回來,可以在自己的視窗裡"嵌入"另外一個程序。
  在 Windows 和其它非 UNIX 作業系統中,這種合作是非常困難的。我曾經在Windows下使用 Perl來進行一些自動工作。但是 Windows 的文件操作,管道是如此的不穩定,程序之間基本不能合作。你別想在 Visual Studio 視窗裡面嵌入 UltraEdit 編輯器,你別想用一個 expect 指令碼來控制 telnet 到水木清華BBS。
  Windows 的程序都是大而全,大而雜,所有的電子郵件程式都需要自己提供編輯器,自己傳送和收取郵件,自己顯示郵件的附件。每一個BBS程序都提供自己的 Virtual Terminal, 自己的通訊程式碼。每一個 IDE 都自己提供編輯器,編譯器,彙編器,偵錯器。人們為了使用一種新的程序,需要適應所有這些它提供的介面,而不能使用自己喜歡的編輯器的鍵綁定,表單組織…… 不能 DIY!
  你要知道,最進階的電腦是定做的,自己想要什麼什麼CPU,什麼主機板,多少記憶體,什麼硬碟,鍵盤,滑鼠,顯示器都是自己選項的。最進階的滑板,自己想要什麼牌子的版面,什麼牌子的沙,什麼橋,什麼輪子,什麼軸承,也都是自己選的。最進階的古球拍,木板,膠皮,海綿,膠水都是可以自己選項…… 而用 Windows 程序,你得到的是大雜燴,就像你去買"品牌機",只有那麼幾種組態,而且附帶很多你不需要的軟體和服務;就像你去買組裝好的滑板,你想要大一點的輪子和窄一點的板子,但是你沒有這種選項餘地!Windows 程序就相當於最廉價,最次的滑板。但是它卻會花你更多的錢,因為一旦一個設備壞了,或者你不喜歡了,你不能另外找一個好的換掉它,你必需重新買全套配件!
  而 UNIX 和 Xwindow 就是高階的"組裝貨"。比如我用 Mutt 的時候,我可以用 VIM也可以用 pico 來編輯郵件,我可以用 ImageMagick 也可以用 xv 來顯示附件裡的圖片,我可以用 lynx 把 HTML 附件轉成文本嵌入視窗中,我也可以把 HTML 附件交給Mozilla 圖形顯示。我可以讓 GnuPG 幫我把郵件進行數位簽名和加密,我也可以用其它 PGP 程序。
  我想讓 Postfix 而不是 sendmail 幫我發出郵件,我想讓 fetchmail 幫我收郵件,轉發給 postfix,然後被我自己寫的Perl過濾器處理…… 這一切我都可以辦到!我可以選項我最喜歡的專門的程序來完成專門的工作,然後把它們結合在一起,我也可以分別得到它們的好處。
  學 UNIX 絕對不是浪費時間
  有人告訴我:"你看我用 Windows 什麼都不用學。而用 Linux,光是安裝就花了我一個星期!"
  首先,我要告訴你的是,你裝 Linux 花了一個星期,不是因為 Linux 不好裝,而是因為你已經習慣了 Windows,對 Linux 最初難以理解而已。你想一想你最初安裝Windows的時候呢?你花了多少時間搞明白什麼是硬碟分區?什麼是磁碟代號?什麼是目錄?你認為Windows 就是那麼容易可以學會的嗎?雖然你覺得沒花時間學,但是你以前在用別人的機器的時候已經耳濡目染,自然就瞭解了。而且由於你想要 Linux 和 Windows 並存於硬碟上,又增加了安裝難度。而且你肯定沒有得到有經驗的 Linux 用戶的說明 ,否則他們會在20分種之內幫你搞定。一個星期也太誇張了.
  如果一開始用的就是Linux就沒有這個問題。你想想如果你沒有用過 windows,你肯定會很習慣 /etc, /usr, /usr/local ,... 而不是 C:, D:, E:, ... 是不是?如果你只用過Linux,你第一次用 windows 時恐怕也會問:"/bin 目錄哪裡去了啊?"
  最重要的是,你用慣了的UNIX工具,它們可以伴隨你一生,而不會那麼容易變化或消失。你可以永遠不用再換另外的工具了。除非那個工具比你這個好的太多,而且可以完全模擬你現在的工具。
  我們實驗室一個60多歲的老師,用vi, cc, make, ...都幾十年了,他以前的經驗絕對沒有白費,而且教會了我們一批又一批的學生。vi 伴隨著 UNIX 的最初發行而誕生,直到今天還是世界上頭兩號編輯器之一!有些人的 FVWM 組態文件已經用了 10 多年,現在完全不經修改還可以用。
  看看 Windows 的工具,你從 Borland C++ 換到 VC, 就必需適應新的環境:表單不同了,顏色不同了,按鈕不同了,說明 訊息不同了,熱鍵不同了,編譯器參數,偵錯器功能也不同了,…… 那個時候恐怕花要花你很多時間去適應。當你剛剛適應了 VC, 你又要換成VJ, PowerBuilder, C++Builder, ...
  很多windows程序員都是這樣,開頭在dos下用Turbo C, 然後是 Borland C, VC, C++ Builder, ......不斷追趕微軟的潮流。而且微軟的SDK, MFC, .NET …… 什麼都在不斷變化,不斷出問題,又不斷的在修改…… Windows 程序員不得不買又厚又重的 Microsoft Press 的書籍,看了才一個月,又過時了。今天你才學會了寫 VxD,明天你就必須用WDM 了。你不得不註冊 MSDN 才能趕上 Microsoft 的步伐。很多人說:"電腦是貴族的專業。" 這就是微軟一手造成的。
  這些東西才是沒完沒了的浪費大家的時間和金錢的。這是是浪費生命!我們為什麼不使用從誕生就那麼一致和完美的 UNIX?你需要理解先進工具的設計理念。UNIX 的工具就像我們用的汽車,它的離合器,油門,剎車,方向盤,後視鏡,永遠都在同樣的位置。用慣了的話,你對你的汽車的每一個設備都會瞭如指掌,甚至你自己都可以修車了。這難道不好嗎?
  有人說:"你說我們需要瞭解 UNIX,難道你要開車還必須瞭解汽車的結構嗎?" 你去問問開車的司機,哪一個不瞭解汽車的結構的,那他的駕照就是混來的。你難道想要傻瓜型的"微軟牌汽車"嗎?我們來看看:
  你買的微軟牌汽車最開頭只有一個座位,每加一個座位你得向汽車公司付錢。車上的防撞氣囊不時會冒出來,說是為了你的安全。每開100英里要大修一次,每過一年要換一次引擎。附帶的,你還必須換用由微軟汽車公司指定的石油公司提供的新型號的機油。你的車出了問題,但是法律規定,你不准私自拆開你的汽車來修理,你必需到微軟汽車公司指定的維修點去,需要付相當多的錢才能修好一個小毛病。
  最可氣的是,你每換一個型號的微軟牌汽車,它的剎車和離合器都在不同的位置,你需要重新去考駕駛執照。如果這輛汽車在途中剎車失靈,你受了重傷,你也不能狀告微軟汽車公司,因為你買來汽車之後必須簽一個合同,說"由於微軟牌汽車對你和家人造成的一切死傷,微軟概不負責。"
  怎樣完全用 GNU/Linux 工作
  說了這麼多 Windows 的不好。我還沒有告訴你我怎麼用 Linux 處理有些必要的事情。半年以前我由於中文老是組態不好,一直是雙系統,不時需要重新啟動到 Win2k 來處理漢字。後來我找到了 miniChinput, XSIM 和 SCIM 輸入法。這下可以處理漢字了。而且 VIM 和Emacs 對漢字支持越來越好。我的大部分文本是用 VIM 編輯的,包括程序,郵件,網頁,LaTeX 論文,MetaPost 繪圖語言。
  我不用 Word 這樣的程序寫論文,而是用 LaTeX,因為這是世界上效果最好,最方便的論文工具,是大多數學術雜誌要求的格式。幻燈都是用 ConTeXt 做的,用起來很簡單,而且效果非常漂亮。你可以看看我的TeX介紹。
  至於繪圖,你可以用很多可視化的工具,比如 xfig,dia。但是對於我來說,任何可視化的工具都不能完成某些工作,我需要一種可以精確描述圖形的語言。我找到了MetaPost。它簡單又好用,而且效果是世界一流的。我的插圖,如果不是圖像,都是MetaPost 畫出來的。
  我曾經抱怨 mozilla-mail 經常突然消失,損壞我好幾封快要完成的郵件。後來我發現mozilla 的郵件處理程序確實是不穩定的,功能又弱,有經驗的 UNIX 用戶都不用這樣的程序。Mutt 是一個非常穩定可靠的 UNIX 郵件處理程序,而且功能非常強大。我曾經為 Gnome 和 KDE 的不穩定而煩惱。現在我找到了非常強大的 FVWM。KDE,Gnome也能和 FVWM 一起工作。雖然 Gnome 和 KDE 總體不穩定,但是某些設備程序還不錯,很多 gtk, Qt 的程序也很不錯,它們很多都是可以獨立於這些桌面環境執行的。
  Linux 有很多強大方便的工作方式是 Windows 沒有的,或者有類似的東西,但是很差勁或者用起來不方便。比如 ssh 服務,rsync,cvs,expect ……
  結論
  我寫這麼多的目的是什麼?我希望喜歡 Linux 的朋友,完全清除微軟和 Windows 灌輸在你腦子裡的謬論,別再相信它們所謂的"新技術",別再追趕 Windows,因為追趕Windows =倒退。馬克思有一個思想很重要,"新生事物並不一定是在最近出現的。"
  UNIX,Xwindow, TeX 雖然都比 Windows 先出現,但是它們才是先進生產力的代表。我們要清楚的認識到什麼才是真正的現代化,什麼才是真正的自動化。
  消除學電腦很難的幻覺,勇敢的拿起像 bash, FVWM, TeX, VIM, Emacs, Mutt ……這樣強大的程序,勇敢的面對符號。不要再埋怨"Linux 為什麼不能像 Windows 那樣",不要再浪費時間試用這樣那樣的程序,不要再忙著昇級。你需要理解 UNIX 的工作方式,因為那是大多數科學家的工作方式。Linux 可以成為你的好朋友,你需要認識它,瞭解它,信任它,才能完全的靠它來高效的工作。當然,在遊戲機,手機,掌上電腦裡,或者在用電腦來娛樂的時候,用一些 "傻瓜軟體"還是不錯的.
  我希望小學,中學的電腦老師能夠提高自己的素質,在孩子們的啟蒙教育中充分利用Linux 神秘的特點,引起孩子們對數學,對符號的好奇心。誘導他們用電腦來解決世界上的有趣問題,而不要把教學的範圍局限於電腦的操作和它自身的問題。
  附錄: 我用來處理日常事務的 Linux 程序
  好了好了。我知道你發現自己應該轉向 Linux,你很後悔當初為什麼中了微軟的邪。但是不要著急。因為這些東西本來只是工具,它們是用來完成你的主要工作的輔助而已。你以前選錯了工具,這不要緊。你還是擁有你自己原來的專業技能,那才是最重要的。工具的東西只有慢慢適應轉換,不能一蹴而就,否則你會感到非常沒意思,甚至放棄。
  如果你只想做一個像我這樣的普通用戶,主要目的是用 Linux 來完成自己的工作,那就可以不用系統管理員或者網路管理員的標準來要求自己,因為當一個系統和網路管理員確實很辛苦。這裡我對實驗室的網管同學鞠一躬,謝謝你的指點和說明 . 不用把你的機器當成網路伺服器,不用開放沒有必要的服務,設定好 ssh, ftp 已經足夠了。這樣會省去瞭解很多沒必要瞭解的東西的時間。不用過度考慮"安全",因為 Linux 預設已經很安全了。不過你有興趣瞭解更多那也無妨。
  下面指出一些推薦使用的可以處理一般事情的程序。至於你的專業上要用到的科學和工程軟體比如 Matlab, Mathematica, Maple, HSpice, Design Compiler, …… 還有其它物理上的,化學上的,生物上的 …… 都必然有 Linux 和 UNIX 的版本。當然他們很多不是免費的,不要總是覺得什麼都應該免費,自由不等於免費。它們是經過很多人辛勤勞動的產物,是可靠的程序,它們物有所值。
  下面列出我常用的一些 Linux 程序。一個列表裡可能有很多,那是為了方便你來選項,我列出了比較信得過的。但其實很多只有第一個是我真正在用的,我不喜歡試用程序。我不是一個合格的網路管理員,我的伺服器都只設定了我自己需要的功能,那樣可以省去我很多麻煩。
  Shell: bash。它結合了 csh 和 ksh 的優點,並且有 readline 功能,你可以隨意綁定自己的鍵盤。
  編輯器: VIM, Emacs。
  程序開發: GCC, make, ld, Scheme48, j2sdk, Perl, Python, Tcl/Tk ...
  論文,幻燈工具:LaTeX, ConTeXt
  繪圖工具:MetaPost。這個語言太強了,以至於我只用它了。你不熟悉的話可以用xfig, dia 來畫一些流程圖之類的圖片。
  圖像處理:ImageMagick。其中的 import 程序可以螢幕抓圖,convert 程序可以轉換圖像格式,display 可以顯示圖片和簡單編輯(縮放,換品質,轉格式,簡單繪圖,簡單慮鏡)。通常我就這麼點需要。如果你要更強大的圖像工具可以用 Gimp, 它幾乎和Photoshop差不多。
  自動系統管理工具:make。我可以用make來自動編譯程序,自動編譯我的文件,自動更新插圖…… 全自動,而且不會重複勞動。
  數值計算程序:SciLab。這個程序基本上可以替代 Matlab。
  代數計算程序:MAXIMA。這個程序關於世界上最老的電腦代數系統之一: 由美國能源部(DOE)發行的 MIT Macsyma 系統。它是用 Common Lisp 實現的。很多現在的符號計算程序比如 Maple 都從 MAXIMA 身上學到很多東西。它現在經過 DOE 批准以GPL發行,永遠是一個自由軟體。
  加密程序:GnuPG。我的 PGP 密鑰就是它搞出來的。
  打包,壓縮程序。什麼都有: tar, gzip, bzip2, zip, rar, ...
  虛擬光碟程序。Linux 不需要虛擬光碟程序,直接 mount 就行了。
  ftp 伺服器:proftpd, vsftpd。proftpd 功能很強,但是我只用了最簡單的一種設定。
  WWW 伺服器:apache。(我一般沒有開)
  ftp 客戶程序:lftp,ncftp。它們都是文本方式操作的,但是比起圖形介面的方便的多。比如 lftp 幾乎具有 bash 的所有方便功能,Tab 補全,bookmark, queue, 後台下載,映射…… Linux 也有圖形介面的 ftp 客戶程序,但是大多不穩定,有很多問題。這就是很多人抱怨 Linux 不如 Windows 的一個小原因。還有很多人用 Wine 模擬 Windows 的leapftp,其實 lftp 比 leapftp 好很多,你需要的只是適應一下。
  自動下載工具:wget。它非常穩定,有一次我下載一個程序,用 IE 和 Mozilla 下載回來的文件都是壞的,最後還是 wget 可靠的傳輸了資料。用它甚至可以映射整個網站,比起WebZip 這樣的 Windows 程序強多了,而且不會因為你不付錢就在下載回來的網頁裡強制插入廣告。
  虛擬終端:rxvt, xterm, gnome-terminal, mlterm, ...
  X server: XFree86
  視窗管理器:FVWM。編譯加入了 libstroke。
  中文輸入:XSIM。被我修改過以適應 FVWM 的需要。另外推薦你還可以用 SCIM。
  email 處理:Mutt + Postfix + fetchmail
  看 PDF, PS, DJVU 文件:Acrobat Reader, xpdf, GhostScript, gv, djvu工具包和netscape 插件。
  看CAJ我的文件。我從來不看CAJ之類的我的文件,如果找不到PDF或PS,直接去圖書館借最好。
  看網頁:Mozilla, Phoenix, lynx。Mozilla-Xft 的顯示效果比IE 好很多。
  英漢字典:IBM智能詞典,星際譯王。
  編輯網頁:我用VIM 直接寫 HTML。你如果想要圖形方式的可以用其它的比如screem, BlueFish。
  登入其它 UNIX, Linux 機器:openSSH, telnet。 我喜歡用 openSSH 把其它機器的X 程序通過 ssh 加密的隧道傳到我電腦上顯示。
  登入 Windows2000 server 的 display service: rdesktop,...我有一天試了一下,不錯。後來就沒有用過了。
  同步程序:rsync。我用 rsync 通過 ssh 來跟某些機器同步資料,或者做自己電腦上不同目錄間的同步。
  上BBS:rxvt(或任何一種終端) + telnet + chatbot(helloooo 機器人的程序)
  QQ, ICQ: 我沒有 QQ 或 ICQ。不過你可以用 Gaim, 它同時支持 QQ, ICQ 和很多其它的即時通信方式。ICQ 用戶也可以用 Licq。
  放錄像:MPlayer, RealPlayer。MPlayer 太好了,直接就可以放 VCD, DVD, divx, wma, wmv ... 用 Windows 的同學都很羨慕我,說 Windows 要放這個需要大堆插件。rm 最好還是用 realplayer 放,它也是免費的。
  放音樂: xmms(mp3,ogg都可以), mpg321(放mp3), ogg123(放ogg)。mpg321 不如xmms管理音樂文件那麼方便,但是有時我還是用 mpg321 放 mp3 作為背景音樂,因為懶得開一個xmms視窗
  遊戲:我覺得 KDE 的那個 ksoko
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3203 次
有 15 位會員向 psac 送花:
addice (2006-10-05),arfken (2007-10-23),BarbaraClera (2019-05-27),Candicefeddy (2019-08-02),formosa (2007-06-22),h0810119 (2007-07-02),LauraFub (2019-05-27),lu23888 (2007-04-29),luen (2008-10-24),non (2006-10-02),peggau (2007-08-07),Peggyimmab (2019-05-28),s8321414 (2008-02-06),Yau2328 (2009-11-05),可以餵食請勿拍打 (2006-11-01)
感謝您發表一篇好文章
舊 2006-07-02, 04:13 PM   #2 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

淺析linux

linux 技巧集

改變文件或目錄之讀、寫、執行之允許權
====================================
執行格式:chmod [-R] mode name ( name 可為文件名或目錄名;mode可為 3 個 8 位元之數位,或利用ls -l 命令,列出文件或目錄之讀、寫、執行允許權之文字縮寫。)
mode : rwx rwx rwx r:read w:write x:execute(user group other 縮寫為: u g o)
Example :
% chmod 755 dir1 將目錄dir1,設定成任何使用者,皆有讀取及執行之權利,但只有擁有者可做修改。
% chmod 700 file1 將文件file1,設定只有擁有者可以讀、寫和執行。
% chmod o x file2 將文件file2,增加擁有者可以執行之權利。
% chmod g x file3 將文件file3,增加群組使用者可執行之權利。
% chmod o-r file4 將文件file4,除去其它使用者可讀取之權利。

改變文件或目錄之擁有權
======================
執行格式:chown [-R] username name ( name 可為文件名或目錄名。)
Example :
% chown user file1 將文件 file1 之擁有權,改為使用者 user 所有。
% chown -R user dir1 將目錄 dir1,及其下所有文件和子目錄之擁有權,改為使用者 user 所有。

檢查自己所屬之群組名稱
======================
執行格式:groups
Example :
% groups

改變文件或目錄之群組擁有權
==========================
執行格式:chgrp [-R] groupname name ( name 可為文件名或目錄名 )
Example :
% chgrp vlsi file1 將文件 file1 之群組擁有權,改為 vlsi 群組。
% chgrp -R image dir1 將目錄dir1,及其下所有文件和子目錄,改為 image 群組。

改變文件或目錄之最後修改時間(變為當前時間)
=========================================
執行格式:touch name ( name 可為文件或目錄名稱。)
Example :
% touch file1
% touch dir1

文件之連結
==========
同一文件,可擁有一個以上之名稱,可將文件做數個連結。
執行格式:ln oldname newname ( Hard link )
Example :
% ln file1 file2   將名稱 file2,連結至文件 file1。
執行格式:ln -s oldname newname ( Symblick link )
Example :
% ln -s file3 file4 將名稱 file4,連結至文件file3。

文件之字串找尋
==============
執行格式:grep string file
Example :
% grep abc file1 尋找文件file1中,列出字串 abc 所在之整行文字內容。

找尋文件或命令之路徑
====================
執行格式:whereis command ( 顯示命令之路徑。)
執行格式:which command ( 顯示命令之路徑,及使用者所定義之別 )
執行格式:whatis command ( 顯示命令功能之摘要。)
執行格式:find search-path -name filename -print ( 搜尋指定路徑下,某文件之路徑 )
Example :
% find / -name file1 -print ( 自根目錄下,尋找文件名為 file1 之路徑)

比較文件或目錄之內容
====================
執行格式:diff [-r] name1 name2 ( name1 name2 可同時為文件名,或目錄名稱 )
Example :
% diff file1 file2 比較文件 file1 與 file2 內,各行之不同處。
% diff -r dir1 dir2 比較目錄 dir1 與 dir2 內,各文件之不同處。

如何實現為一個網卡綁定多個IP地址?
====================================
  Linux的網路設備配置文件存放在/etc/sysconfig/network-scripts裡面,對於以太網的第一個網路設備,配置文件名一般為 ifcfg-eth0 如果需要為第一個網路設備綁定多一個IP地址,只需要在/etc/sysconfig/network-scripts目錄裡面創建一個名為ifcfg-eth0:0的文件,內容樣例為:
DEVICE="eth0:0"
IPADDR="211.100.10.119"
NETMASK="255.255.255.0"
ONBOOT="yes"
  其中的DEVICE為設備的名稱,IPADDR為此設備的IP地址,NETMASK為子網掩碼,ONBOOT表示在系統啟動時自動啟動。
  如果需要再綁定多一個IP地址,只需要把文件名和文件內的DEVICE中的eth0:x加一即可。LINUX最多可以支持255個IP別名。

如何設置login後歡迎訊息
====================================
修改/etc/motd,往裡面寫入文本,就能使用戶通過telnet正確登入後執行shell之前得到相應的提示訊息。
motd就是「messages of the day」,也就是當日訊息的意思。管理員可以往裡面寫一些需要注意的事項或者通知等來提醒正式用戶。

如何設置login前歡迎界面
====================================
修改/etc/issue或者issue.net,往裡面寫入文本,就能使得用戶在login前得到相應的提示,這將有助於用戶分辨自己正在連接哪裡的主機。
issue的內容是出現在本機登入的用戶界面上,而issue.net則是在用戶通過網路telnet的時候出現。

如何在bash下快速執行某個特定歷史命令
====================================
在bash下面按ctrl r可以查找歷史命令中匹配的命令並執行

如何檢視工作行程繼承關係
====================================
直接在命令行中輸入
pstree
即可,程式會以樹狀結構方式列出系統中正在執行的各工作行程之間的繼承關係。

如何找出記憶體佔用最大的工作行程
====================================
除了可以使用top命令檢視記憶體使用情況之外,還可以使用更快的命令行命令,相關的命令如下:
ps aux | sort 4n
或者
ps aux | sort 5n

如何在Linux下面編輯二進制文件
====================================
http://freshmeat.net/redir/hexedit/4...能用hexedit filename來編輯二進制文件。

如何設置用戶密碼過期時間
====================================
設置某個用戶的密碼過期時間可以用usermod -e來設置,如果要統一設置用戶的密碼過期時間,那麼就要修改/etc/login.defs裡面的PASS_MAX_DAYS,比如修改所有用戶的密碼過期時間是30天:
PASS_MAX_DAYS 30
如果這個值是99999,那麼表示密碼永不過期。

如何修改網卡MAC地址
====================================
首先必須關閉網卡設備,否則會報告系統忙,無法更改。
命令是: /sbin/ifconfig eth0 down
修改 MAC 地址,這一步較 Windows 中的修改要簡單。
命令是:/sbin/ifconfig eth0 hw ether 00:AA:BB:CCD:EE
重新啟用網卡 /sbin/ifconfig eht0 up
網卡的 MAC 地址更改就完成了

如何用Bash糾正錯誤命令
====================================
當你輸入一個命令不知道是否正確的時候,可以使用ctrl t來糾正到正確的命令。
比如輸入mkdri,然後按ctrl t,bash會幫你糾正到最接近的命令mkdir。

如何使非root用戶都不能遠端登入
====================================
建立/etc/nologin文件,這樣所有的非root用戶都不能遠端登入。

如何不顯示其他用戶的消息
====================================
用戶可以使用mesg n來禁止別人給他發送訊息,其實就是禁止別人往自己的終端上面的寫權限。當別人試圖再使用write給他發送訊息時,發送者將會看見提示:
write: user has messages disabled on pts/n

如何知道某個命令使用了什麼庫文件
====================================
例如要知道ls使用了什麼庫文件,可以使用:
$ ldd /bin/ls

如何臨時增加交換空間
====================================
產生一個64M的空文件
#dd if=/dev/zero of=/swapfile bs=1024 count=65536

初始化該文件為交換文件:
mkswap /swapfile 65536
sync

啟動這個交換文件:
swapon /swapfile

如何使一個用戶工作行程在用戶退出系統後仍然執行
====================================
使用nohup command &,比如:
nohup wget -c ftp://test.com/test.iso
這樣即使用戶退出系統,wget工作行程仍然繼續執行直到test.iso下載完成為止

如何限制用戶的最小密碼長度
====================================
修改/etc/login.defs裡面的PASS_MIN_LEN的值。比如限制用戶最小密碼長度是8:
PASS_MIN_LEN 8
這樣用戶設置密碼的時候如果輸入的密碼長度小於8將不能設置

如何限制只有0組(gid=0)的用戶可以su成root
====================================
修改/etc/login.defs裡面的SU_WHEEL_ONLY的值為:
SU_WHEEL_ONLY yes
那麼就只有gid為0的用戶可以su成root。

如何禁用Ctrl Alt Del鍵重啟系統
====================================
有時候為了防止誤操作導致系統重新啟動(如機房裡面新來了個習慣用Window$系統的管理員:-D),或者出於安全的原因,需要禁用Ctrl Alt Del組合鍵。
只需要註釋掉/etc/inittab文件內的
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
這一行即可。如何註釋?在這一行的行首放一個「#」號即可。
Linux下軟件安裝詳解

在Windows下安裝軟件時,只需用滑鼠雙擊軟件的安裝程式,或者用Zip等解壓縮軟件解壓縮即可安裝。在Linux下安裝軟件對初學者來說,難度高於Windows下軟件安裝。下面我就詳細講解Linux下如何安裝軟件。

先來看看Linux軟件延伸名。軟件後綴為.rpm最初是Red Hat Linux提供的一種包封裝格式,現在許多Linux發行版本都使用;後綴為.deb是Debain Linux提供的一種包封裝格式;後綴為.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系統壓縮打包工具tar壓縮打包的;後綴為.bin 的一般是一些商業軟件。通過延伸名可以瞭解軟件格式,進而瞭解軟件安裝。

RPM格式軟件包的安裝

1.簡介
幾乎所有的Linux發行版本都使用某種形式的軟件包管理安裝、更新和卸載軟件。與直接從源代碼安裝相比,軟件包管理易於安裝和卸載;易於更新已安裝的軟件包;易於保護配置文件;易於跟蹤已安裝文件。

RPM全稱是Red Hat Package Manager(Red Hat包管理器)。RPM本質上就是一個包,包含可以立即在特定機器體系結構上安裝和執行的Linux軟件。RPM示意圖見圖1。

.sdec|安裝前腳本|二進制文件|二進制文件|。。。|安裝前腳本

圖1 RPM結構示意圖


大多數Linux RPM軟件包的命名有一定的規律,它遵循名稱-版本-修正版-類型-MYsoftware-1.2 -1.i386.rpm 。

2.安裝RPM包軟件
# rpm -ivh MYsoftware-1.2 -1.i386.rpm

RPM命令主要參數:

-i 安裝軟件。
-t 測試安裝,不是真的安裝。
-p 顯示安裝進度。
-f 忽略任何錯誤。
-U 升級安裝。
-v 檢測套件是否正確安裝。



這些參數可以同時採用。更多的內容可以參考RPM的命令幫助。

3.卸載軟件
# rpm -e 軟件名

需要說明的是,上面代碼中使用的是軟件名,而不是軟件包名。例如,要卸載software-1.2.-1.i386.rpm這個包時,應執行:
#rpm -e software

4.強行卸載RPM包
有時除去一個RPM是不行的,尤其是系統上有別的程式依賴於它的時候。如果執行命令會顯示如下錯誤訊息:

## rpm -e xsnow
error: removing these packages would break dependencies:
/usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1



在這種情況下,可以用--force選項重新安裝xsnow:

## rpm -ivh --force xsnow-1.41-1.i386.rpm
xsnow



這裡推薦使用工具軟件Kleandisk,用它可以安全徹底清理掉不再使用的RPM包。詳細情況請檢視2003年《開放系統世界》第12期。

5.安裝.src.rpm類型的文件
目前RPM有兩種模式,一種是已經過編碼的(i386.rpm),一種是未經編碼的(src.rpm)。
rpm --rebuild Filename.src.rpm

這時系統會建立一個文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目錄下,一般是i386,具體情況和Linux發行版本有關。然後執行下面代碼即可:
rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm

使用deb壓縮打包的軟件安裝

deb 是Debian Linux提供的一個包管理器,它與RPM十分類似。但由於RPM出現得早,並且應用廣泛,所以在各種版本的Linux中都常見到,而Debian的包管理器dpkg只出現在Debina Linux中。它的優點是不用被嚴格的依賴性檢查所困擾,缺點是只在Debian Linux發行版中才能見到這個包管理工具。

1. 安裝
# dpkg -i MYsoftware-1.2.-1.deb

2. 卸載
# dpkg -e MYsoftware

使用源代碼進行軟件安裝

和RPM 安裝方式相比,使用源代碼進行軟件安裝會複雜一些,但是用源代碼安裝軟件是Linux下進行軟件安裝的重要手段,也是執行Linux的最主要的優勢之一。使用源代碼安裝軟件,能按照用戶的需要選擇定制的安裝方式進行安裝,而不是僅僅依靠那些在安裝包中的預配置的參數選擇安裝。另外,仍然有一些軟件程式只能從源代碼處進行安裝。

現在有很多地方都提供源代碼包,到底在什麼地方獲得取決於軟件的特殊需要。對於那些使用比較普遍的軟件,如 Sendmail,可以從商業網站處下載源代碼軟件包(如http://www.sendmail.org )。一般的軟件包,可從開發者的Web站點下載。下面介紹一下安裝步驟:

1.解壓資料包
源代碼軟件通常以.tar.gz做為延伸名,也有tar.Z、tar.bz2或.tgz為延伸名的。不同延伸名解壓縮命令也不相同,見表1。





2.編譯軟件
成功解壓縮源代碼文件後,進入解包的目錄。在安裝前閱讀Readme文件和Install文件。儘管許多源代碼文件包都使用基本相同的命令,但是有時在閱讀這些文件時能發現一些重要的區別。例如,有些軟件包含一個可以安裝的安裝腳本程式(.sh)。在安裝前閱讀這些說明文件,有助於安裝成功和節約時間。

在安裝軟件以前要成為root用戶。實現這一點通常有兩種方式:在另一台終端以root用戶登入,或者輸入「su」,此時系統會提示輸入root用戶的密碼。輸入密碼以後,就將一直擁有root用戶的權限。如果已經是root用戶,那就可以進行下一步。

通常的安裝方法是從安裝包的目錄執行以下命令:

gunzip soft1.tar.gz
cd soft1
#. /configure #配置#
make #調用make#
make install #安裝源代碼#



刪除安裝時產生的臨時文件:
#make clean

卸載軟件:
#make uninstall

有些軟件包的源代碼編譯安裝後可以用make uninstall命令卸載。如果不提供此功能,則軟件的卸載必須手動刪除。由於軟件可能將文件分散地安裝在系統的多個目錄中,往往很難把它刪除乾淨,應該在編譯前進行配置。

.bin文件安裝

延伸名為.bin文件是二進制的,它也是源程式經編譯後得到的機器語言。有一些軟件可以發佈為以.bin為後綴的安裝包,例如,流媒體播放器 RealONE。如果安裝過RealONE的Windows版的話,那麼安裝RealONE for Linux版本(文件名:r1p1_linux22_libc6_i386_a1.bin)就非常簡單了:
#chmod x r1p1_linux22_libc6_i386_a1.bin
./ r1p1_linux22_libc6_i386_a1.bin

接下來選擇安裝方式,有普通安裝和高階安裝兩種。如果不想改動安裝目錄,就可選擇普通安裝,整個安裝過程幾乎和在Windwos下一樣。

.bin文件的卸載,以RealONE for Linux為例,如果採用普通安裝方式的話,在用戶主目錄下會有Real和Realplayer9兩個資料夾,把它們刪除即可。

Linux綠色軟件

Linux 也有一些綠色軟件,不過不是很多。Linux系統提供一種機制:自動響應軟件執行工作行程的要求,為它設定好可以馬上執行的環境。這種機制可以是一種接頭,或者是中間件。程式員編寫的程式可以直接拷貝分發,不用安裝,只要點擊程式的圖示,訪問操作系統提供的接頭,設定好就可以工作。若要刪除軟件,直接刪除就可以,不用鏈接文件。這是最簡單的軟件安裝、卸載方式。

上面介紹了Linux軟件安裝的方法,對於Linux初學者來說,RPM安裝是一個不錯的選擇。如果想真正掌握Linux系統,源代碼安裝仍然是Linux下軟件安裝的重要手段。(T111)








1、Linux下有哪些中文系統?

  主要有CXTERM、wzce、CXWIN、XCIN、ZhXwin。CXTERM是執行在X-WINDOW下的中文終端。Wzce是一個作為 shell執行的終端。CXWIN是支持中文的XSERVER。XCIN可以在X-WINDOW下輸入中文。ZhXwin是中文輸入程式,需要 CXTERM。

  可到http://freesoft.cei.gov.cn下載以...xterm即可。

  2、怎樣在X Window中象Pwin98那樣顯示/輸入中文?

  要在X Window的任何地方輸入中文,可以使用xcingb,它是一種中文輸入法的Server;libst.so.1可以在任何地方顯示出中文,一起使用它們即可顯示/輸入中文。libst.so.1在http://freesoft.cei.gov.cn 裡有下載,Freesoft 裡有搜索器, 可以很方便用它查找。

  3、怎麼樣讓RedHat Linux在X啟動時自動加入中文支持(libst.so.4)?

  有兩種常用的方法:startx和xdm。對於這兩種方法,可通過在/etc/X11/xinit/Xclients文件中的這個部位加入以下幾行來完成:

  # TheNextLevel is supposed to work

  # with both fvwm95 and fvwm2

  # (try fvwm95 first, then fvwm2).

  for FVWMVER in 95 95-2 2;

  do if [ -n "$(type -path fvwm${FVWMVER})" ];

  then env > "$HOME"/Xrootenv.0

  !!!! LD_PRELOAD=/usr/home/min/ZhXwin/lib/libst.so.4

  !!!! export LD_PRELOAD

  # if this works, we stop here

  eval "exec fvwm${FVWMVER} ${FVWMOPTIONS}" >

  "$HOME"/.FVWM${FVWMVER}-erro

  rs 2>&1

  fi



tar.gz、tar.bz2的是源代碼包,需要編譯之後才能安裝,在編譯過程中你可以指定各種參數以適應你的系統需求,比如安裝位置,優化參數,要哪些功能不要哪些功能等等。
這類源代碼包需要解壓後(tar.gz的用 tar zxvf 解壓,tar.bz2的用 tar jxvf 解壓),進入解壓目錄,一般都有一個 INSTALL 的文本文件,裡面一般都是安裝的詳細說明,可以用vi、nano、pico或X下面的文本編輯器(如gedit,gvim,kedit等)打開檢視,安裝一般就是三個步驟:

1、configure,這一步一般用來產生 Makefile,為下一步的編譯做準備,你可以通過在 configure 後加上參數來對安裝進行控制,比如

代碼:

./configure --prefix=/usr
上面的意思是將該軟件安裝在 /usr 下面,執行文件就會安裝在 /usr/bin (而不是預定的 /usr/local/bin),資源文件就會安裝在 /usr/share(而不是預定的/usr/local/share)。同時一些軟件的配置文件你可以通過指定 --sys-config= 參數進行設定。有一些軟件還可以加上 --with、--enable、--without、--disable 等等參數對編譯加以控制,你可以通過允許 ./configure --help 察看詳細的說明幫助。

2、make ,這一步就是編譯,大多數的源代碼包都經過這一步進行編譯(當然有些perl或python編寫的軟件需要調用perl或python來進行編譯)。如果在 make 過程中出現 error ,你就要記下錯誤代碼(注意不僅僅是最後一行),然後你可以向開發者提交 bugreport(一般在 INSTALL 裡有提交地址),或者你的系統少了一些依賴庫等,這些需要自己仔細研究錯誤代碼。

3、在編譯之後一般就是 make insatll 命令來進行安裝(當然有些軟件需要先執行 make check 或 make test 來進行一些測試),這一步一般需要你有 root 權限(因為要向系統寫入文件)。

安裝完畢後你就可以刪除解壓目錄了。採用源代碼編譯方式來安裝軟件是 Linux 系統下最常見的安裝軟件方法,而且這種方法使你可以更加自由地控制安裝細節,所以提倡大家多使用該方法安裝軟件。

PS:對於 bin 類型的安裝文件,一般給該文件加上可執行權限,再執行之即可,如:

代碼:

chmod u x example.bin
./example.bin
理解 Linux 配置文件

介紹
每個 Linux 程式都是一個可執行文件,它含有操作碼列表,CPU 將執行這些操作碼來完成特定的操作。例如,ls 命令是由 /bin/ls 文件提供的,該文件含有機器指令的列表,在螢幕上顯示當前目錄中文件的列表時需要使用這些機器指令。幾乎每個程式的行為都可以通過修改其配置文件來按照您的偏好或需要去定制。

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 中將它們註釋掉了,這樣即使這些服務在執行也將不可用。格式為:<service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
/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:
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3203 次
有 5 位會員向 psac 送花:
BarbaraClera (2019-05-27),Candicefeddy (2019-08-02),LauraFub (2019-05-27),Peggyimmab (2019-05-28),s8321414 (2008-02-06)
感謝您發表一篇好文章
舊 2006-07-06, 03:36 PM   #3 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

Windows軟件在Linux上的等價/替代/模仿軟件列表
Last update: 16.07.2003, 31.01.2005, 27.05.2005
您可在以下網站發現本列表最新版:
http://www.linuxrsp.ru/win-lin-soft/
.
This page on other languages: Russian, Italian, Spanish, French, German.
從Windows轉向Linux的一個最大困難就是缺乏對相關軟件的認識。新手總是在尋找 Windows軟件的替代品,但老鳥卻難以回答,因為他們對Windows可能已經所知有限。本列表是在我們自己的經驗及本頁訪客所做反饋基礎上列出的等價或替代或模仿軟件(多謝!)。
這個表將會經常變化,左右兩側都會加入新名字。而某些類別的右欄可能不會立即填上。將來,我們計劃把這個表轉向PHP/MySQL,這樣訪客就能夠自己新增軟件,為模仿軟件投票或進行評論等等。
如果您想提交新的軟件,請發信至:winlintable[a]linuxrsp.ru ,寫上軟件名字,操作系統,描述(軟件的目的之類),以及連向其官方網站的鏈接(如果知道)。 同時歡迎任何評論,說明,校正,提交及錯誤報告,如有,請發至: winlintable[a]linuxrsp.ru
注意:
1) 預設情況下,本表中所有Linux軟件均為 自由軟件(free as in freedom)。(自由軟件的定義:FSFDebian)。Linux下的專屬軟件會用[Prop] 標明。非自由軟件(開源或相對自由但帶有限制)用[NF]標明。
2) 如果表格中是???,表示作者不知道表中應該放什麼。
3) 如果軟件名字後面跟著???,表示作者對此軟件不是非常確定。
Windows和Linux在哲學上的重要區別:
Windows軟件是"all-in-one"的,即開發者會在他的產品中新增所有特性。這種思路也稱為「Windows之道」。
而UNIX/Linux的哲學是一個元件或一個軟件只執行一件任務,並把它做好。這就是「Unix之道」。 Linux軟件就像是樂高積木塊(比如如果有拼寫檢查程式,它就能用在文本編輯器中或郵件客戶端中;如果有一個強大的命令行下載工具,那麼為它寫個界面也不難)。
這一原則非常重要,而在搜尋Windows軟件替代品時更是非常重要
如想瞭解更多,請看"Linux and the Unix Philosophy"這本書,其中有一章專門講了Windows和Linux的哲學差別。
注意!本表中可能有許多錯誤及Bug。 (報告Bug)。
對更喜歡Windows軟件的人:
1) "Windows"那一列並不是本表的核心,所以也並未包括所有現存軟件--只有最好最流行的那些。
2) 許多Linux軟件也可以在Windows上執行--通過CygWin或其他Linux模擬環境。
您可從以下站點獲取Linux軟件:
FreshMeat.net| SourceForge.net - 最大的兩個門戶,可以找到任何想要的東西!!
LinuxApps.com | IceWalkers.com | Linux.Tucows.com - I like these catalogs.
Download.com / Linux | LinuxSoftware.org | FileWatcher.org | LinuxArchives.com - other catalogs.
Programs / packages / libraries search systems: RPMseek.org | Tuxfinder.com | RPMfind.net
可在Wine/WineX上面執行的Windows軟件:
1) 可執行於Wine的Windows軟件的官方列表 (from Codeweavers)。該資料庫中軟件超過1000種,並有分類和導航。
2) 可在WineX上執行的Windows遊戲(fromTransgaming)。這是一個搜索,這裡有全部遊戲的列表 (超多)。
分類:
1) 網路,
2) 文件工作,
3) 桌面與系統軟件,
4) 多媒體:
4.1) 音頻/ CD.
4.2) 圖形圖像.
4.3) 視頻及其他.
5) 辦公商務,
6) 遊戲,
7) 編輯與開發,
8) 服務器軟件,
9) 科學與特殊軟件,
10) 模擬器,
11) 其他及幽默。
軟件描述,可執行任務
Windows
Linux
1) Networking.
Web browser
Internet Explorer, Netscape / Mozilla, Opera [Prop], Firefox, ...
1) Netscape / Mozilla.
2) Galeon.
3) Konqueror.
4) Opera. [Prop]
5) Firefox.
6) Nautilus.
7) Epiphany.
8) Links. (with "-g" key).
9) Dillo.
10) Encompass.
Console web browser
1) Links
2) Lynx
3) Xemacs + w3.
1) Links.
2) ELinks.
3) Lynx.
4) w3m.
5) Xemacs + w3.
Email client
Outlook Express, Netscape / Mozilla, Thunderbird, The Bat, Eudora, Becky, Datula, Sylpheed / Sylpheed-claws, Opera
1) Evolution.
2) Netscape / Mozilla/Thunderbird messenger.
3) Sylpheed / Sylpheed-claws.
4) Kmail.
5) Gnus.
6) Balsa.
7) Bynari Insight GroupWare Suite. [Prop]
8) Arrow.
9) Gnumail.
10) Althea.
11) Liamail.
12) Aethera.
13) MailWarrior.
14) Opera.
Email client / PIM in MS Outlook style
Outlook
1) Evolution.
2) Bynari Insight GroupWare Suite. [Prop]
3) Aethera.
4) Sylpheed.
5) Sylpheed-claws.
Email client in The Bat style
The Bat
1) Sylpheed.
2) Sylpheed-claws.
3) Kmail.
4) Gnus.
5) Balsa.
Console email client
Mutt [de], Pine, Pegasus, Emacs
1) Pine. [NF]
2) Mutt.
3) Gnus.
4) Elm.
5) Emacs.
News reader
1) Agent [Prop]
2) Free Agent
3) Xnews
4) Outlook
5) Netscape / Mozilla
6) Opera [Prop]
7) Sylpheed / Sylpheed-claws
8) Dialog
9) Gravity
10) BNR2
1) Knode.
2) Pan.
3) NewsReader.
4) Netscape / Mozilla.
5) Opera [Prop]
6) Sylpheed / Sylpheed-claws.
Console:
7) Pine. [NF]
8) Mutt.
9) Gnus.
10) tin.
11) slrn.
12) Xemacs.
13) BNR2.
Address book
Outlook
1) Rubrica
Files downloading
Flashget, Go!zilla, Reget, Getright, DAP, Wget, WackGet, Mass Downloader, ...
1) Downloader for X.
2) Caitoo (former Kget).
3) Prozilla.
4) Wget (console, standard).
5) GUI for Wget: Kmago, Gnome Transfer Manager, QTget, Xget, ...
6) Aria.
7) Axel.
8) Download Accelerator Plus.
9) GetLeft.
10) Lftp.
Sites downloading
Teleport Pro, Httrack, Wget, ...
1) Httrack.
2) WWW Offline Explorer.
3) Wget (console, standard). GUI: Kmago, QTget, Xget, ...
4) Downloader for X.
5) Pavuk.
6) XSiteCopy.
7) GetLeft.
8) Curl (console).
9) Khttrack.
FTP-clients
Bullet Proof FTP, CuteFTP, WSFTP, SmartFTP, FileZilla, ...
1) Gftp.
2) Konqueror.
3) KBear.
4) IglooFTP. [Prop]
5) Nftp.
6) Wxftp.
7) AxyFTP.
8) mc. (cd ftp://...)
9) tkFTP.
10) Yafc.
11) Dpsftp. (dead project)
Console FTP-clients
FTP in Far, ftp.exe, Ncftp
1) Ncftp.
2) Lftp.
3) Avfs. (From any program: /#ftp:...)
IRC-clients
Mirc, Klient, VIRC, Xircon, Pirch, XChat
1) Xchat.
2) KVirc.
3) Irssi.
4) BitchX.
5) Ksirc.
6) Epic.
7) Sirc.
8) PJIRC.
Local network chat clients without server
1) QuickChat
2) Akeni
3) PonyChat
4) iChat
1) talk (console), ktalk.
2) Akeni.
3) Echat.
4) write, wall (chat between users of one machine)
Local messaging with Windows machines
WinPopUp
smbclient (console). GUI:
1) LinPopUp 2.
2) Kpopup.
3) Kopete.
Instant Messaging clients
ICQ Lite, ICQ Corp, MSN, AIM, Yahoo, ...
Trillian ICQ (freeware, can replace all common IM clients), Miranda, Gaim
1) Licq (ICQ).
2) Centericq (Nearly all IM protocols, console).
3) Alicq (ICQ).
4) Micq (ICQ).
5) GnomeICU (ICQ).
6) Gaim. (Nearly all IM protocols)
7) Ayttm. (Nearly all IM protocols)
8) Kopete.
9) Everybuddy.
10) Simple Instant Messenger.
11) Imici Messenger.
12) Ickle (ICQ).
13) aMSN (MSN).
14) Kmerlin (MSN).
15) Kicq (ICQ).
16) YSM. (ICQ, console).
17) kxicq.
18) Yahoo Messenger for Unix.
19) Kmess (MSN).
20) AIM.
21) MSNre. (console)
Jabber IM clients
JAJC, Tkabber (+activestate tcl), Psi, Exodus, WinJab, myJabber, RhymBox, Rival, Skabber, TipicIM, Vista, Yabber, Miranda, Gaim, Akeni Messenger Jabber Edition
1) Tkabber.
2) Gabber.
3) Psi.
4) Gaim.
5) Centericq (console).
6) Ayttm.
7) Akeni Messenger Jabber Edition.
Monitoring sites and mailboxes, displaying news headlines or full articles
WatzNew
1) Web Secretary.
2) Knewsticker & korn.
3) Mozilla (???).
4) watch -n seconds lynx -dump
Video/audio conference
NetMeeting
1) GnomeMeeting.
2) vat/vic/wb.
3) rat/wbd/nte.
4) NeVoT.
5) IVS.
Voice communication
Speak Freely
1) Speak Freely for Unix.
2) TeamSpeak.
Firewall (packet filtering)
BlackICE, ATGuard, ZoneAlarm, Agnitum Outpost Firewall, WinRoute Pro, Norton Internet Security, Sygate Personal Firewall PRO, Kerio Personal Firewall, ...
iptables or more outdated ipchains (console, standard). Front ends:
1) Kmyfirewall.
2) Easy Firewall Generator.
3) Firewall Builder.
4) Shorewall.
5) Guarddog.
6) FireStarter.
7) Smoothwall. [Prop]
8) IPCop.
9) Zorp.
IDS (Intrusion Detection System)
1) BlackICE
2) Agnitum Outpost Firewall
3) Tripwire [prop]
4) Kerio Personal Firewall
1) Snort.
2) Portsentry / Hostsentry / Logsentry.
3) Tripwire [GPL].
4) Tripwall.
5) AIDE.
6) ViperDB.
7) Integrit.
8) Cerberus Intrusion Detection System.
9) MIDAS NMS.
Port scanning detection
???
1) Pkdump.
Making the system more securely
???
1) Bastille.
2) Linux Security Auditing Tool.
Visual route
VisualRoute [Prop]
1) Xtraceroute.
2) VisualRoute. [Prop]
3) Mtr.
4) Geotrace.
Content (ad / popup) filtering
Proxomitron, ATGuard, Agnitum Outpost Firewall, Privoxy, MS ISA server, Guidescope, ...
1) DansGuardian.
2) Squid.
3) Squidguard.
4) Privoxy.
5) JunkBuster.
6) Zorp.
7) Fork.
8) Redirector.
Traffic control / shaping
WinRoute Pro, ...
1) IP Relay.
2) CBQ (from iproute2 package).
3) tc (from iproute2 package).
4) LARTC.
Traffic accounting
Netstat, Tmeter, ...
1) Tcp4me.
2) Getstatd.
3) Ipacct.
4) Ipac-ng.
5) Ipaudit.
6) Lanbilling.
7) SARG (full Squid traffic).
8) Talinux.
9) NetUP UserTrafManager.
10) MRTG.
11) NetTop.
Peer-to-peer clients / servers, file sharing (p2p)
Morpheus (Gnutella), WinMX, Napster, KaZaA (Fasttrack), eDonkey [Prop], eMule, TheCircle, Bittorrent, SoulSeek, Direct Connect
1) Mldonkey. (eDonkey, Soulseek, Fasttrack, Gnutella, Open Napster, Direct Connect, BitTorrent)
2) LimeWire. (Gnutella)
3) Lopster. (OpenNAP)
4) Gnapster. (OpenNAP)
5) eDonkey. (eDonkey) [Prop]
6) cDonkey. (eDonkey)
7) Gift client / server / fasttrack plugin (Fasttrack)
8) ed2k_gui.
9) Gtk-Gnutella. (Gnutella)
10) Qtella. (Gnutella)
11) Mutella. (Gnutella, console)
12) TheCircle.
13) f\r/e\e/n\e/t. (fully anonymous p2p)
14) GNUnet.
15) Lmule. (eDonkey)
16) Xmule. (eDonkey)
17) Bittorrent.
18) PySoulSeek (Soulseek).
19) Loophole. (WinMX) [Prop]
20) Direct Connect.
21) QuickDC. (Direct Connect).
22) OverNet.
23) Apollon.
24) GrapeWine. (fully anonymous p2p)
25) Snark. (Bittorrent)
"Hotline" p2p protocol clients / servers
???
Clients:
1) Gtkhx.
2) Fidelio.
3) GHX. [Prop]
Servers:
1) Synapse.
2) HSX.
Program for working with sound modem with many functions - from answerback and AON to fax device
Venta Fax, PrimaFax
1) Gfax. (???)
2) PrimaFax. [Prop, 99$]
3) mgetty + voice + sendfax.
4) vgetty.
Work with faxes
WinFax
1) HylaFax.
2) Fax2Send. [Prop]
3) Efax.
4) VSI-FAX. [Prop]
Dialup
Vdialer, etc
1) Kppp.
2) X-isp.
3) wvdial. (Front ends: X-wvdial, kvdial, gtkdial).
4) Gppp.
5) Kinternet.
6) Rp3.
7) pppconfig + pon + poff.
8) Modem Lights.
9) Netcount. (console)
FTN editor
Golded
1) Golded.
2) Golded+.
3) Msged.
4) Qded.
FTN tosser
FastEcho, hpt
1) hpt.
2) CrashEcho.
3) Qecho.
4) CrashMail II.
5) Fidogate - gate to news.
6) ifmail - gate to news.
FTN mailer
SF-Mail, T-Mail
1) ifcico.
2) qico.
3) Bforce.
4) Binkd.
Remote management
1) VNC, Virtual Network Computing
2) Remote Administrator (Radmin) [Prop]
3) Remote Assistance [Prop]
4) Symantec pcAnywhere [Prop]
5) Windows Terminal Server [Prop]
6) Rdesktop [Prop]
7) Radmin [Prop]
8) PC-Duo [Prop]
9) Huey PC Remote Control (only for NT) [Prop]
10) Timbuktu Pro [Prop]
11) LapLink [Prop]
12) GoToMyPC [Prop]
13) Bo2k and other trojans
1) VNC, Virtual Network Computing.
2) ssh.
3) Remote management is built-in in XFree86.
4) Remote management is built-in in KDE 3.1. ("desktop sharing").
5) Rdesktop Client.
6) rsh / rlogin.
7) telnet.
8) Gtelnet.
9) x0rfbserver.
10) KDE Universal Remote Desktop.
Transmission of the files on modem
HyperTerminal, Terminate, etc
1) Minicom + lrzcz + Kermit.
2) Msterm.
3) Xtel.
4) uucp.
5) lrzsz + cu from uucp.
Work with ssh
Putty, Irlex, cygwin + ssh
1) Kssh.
2) ssh / openssh.
3) GTelnet. (Telnet, SSH, Rlogin)
Network monitoring tool
Dumeter, Netmedic
1) Gkrellm.
2) Big Brother.
3) Etherape.
4) Nagios.
5) Tkined.
6) MRTG.
7) Rrdtool.
8) PIKT.
9) Autostatus.
10) bcnu.
11) mon.
12) Sysmon.
13) Spong.
14) SNIPS.
15) iptraf (console).
16) Ksysguard.
17) OpenNMS.
18) tcpdump.
Network maintance tool
HP OpenView, MS SMS, Tivoli
1) HP OpenView agents. [Prop]
2) Big Brother.
3) Cheops.
4) Tkined.
5) OpenNMS.
Protocols analysing, sniffing
Sniffer Pro, EtherPeek (TokenPeek, AiroPeek), Windump, Ethereal, MS Network Monitor, Iris, Lan Explorer, NetSniffer, Snort, ...
1) Ethereal.
2) Tcpdump.
3) Etherape.
4) Ntop.
5) ipxdump. (+ipxparse for parsing)
6) Snort.
Security scanner
ShadowScan, ISS, Retina, Internet Scanner
1) Nessus.
2) Nmap.
Routing
MS RRAS
1) iproute2 + iptables.
2) GateD. [Prop]
3) GNU Zebra.
Utilites and libraries for Ethernet/IP testing
lcrzo
lcrzo
IP-telephony
Buddyphone [Prop], Cisco SoftPhone
1) GNU Bayonne.
2) Openh323.
3) OpenPhone.
4) tkPhone.
5) NauPhone.
Sharing data/files
Windows shares
1) NFS.
2) Samba.
3) Samba-TNG.
4) FTP.
???
Windows Domain, Active Directory
1) Samba.
2) Ldap.
3) yp.
Viewing Windows-network
Network neighborhood
1) Samba.
2) KDE Lan Browser, lisa
3) LinNeighborhood.
4) xSMBrowser.
5) Komba2.
6) Konqueror.
ADSL
1) RASPPPOE
1) rp-pppoe.
2) Pptp client.
Distributed computing
All projects.
1) United Devices.
2) Seti @ Home.
3) Folding @ Home.
4) Genome @ Home.
All projects.
1) Distributed.net.
2) Seti @ Home.
3) Folding @ Home.
4) Genome @ Home.
5) D2ol.
* Some versions for Linux run only in console mode.
IPSEC protocol
-
FreeSWAN.
VRML viewer and editor
???
1) White Dune.
Work with Ebay
???
1) Bidwatcher.
2) Work with files.
File manager in FAR and NC style
FAR, Norton Commander, Disco Commander, Volcov Commander, etc
1) Midnight Commander.
2) X Northern Captain.
3) Deco (Demos Commander).
4) Portos Commander.
5) Konqueror in MC style.
6) Gentoo.
7) VFU.
8) Ytree.
File manager in Windows Commander style
Total Commander (former Windows Commander)
1) Krusader.
2) Kcommander.
3) FileRunner (TCL/TK).
4) Linux Commander.
5) LinCommander.
6) Rox, Rox-Filer.
7) Emelfm.
8) Midnight Commander.
9) Worker.
File manager in Windows style
Windows Explorer / Internet Explorer
1) Konqueror.
2) Gnome-Commander.
3) Nautilus.
4) Endeavour Mark II.
5) XWC.
Visual Shell
???
1) vshnu: the New Visual Shell.
Quick viewing of local HTML documents
1) Internet Explorer
2) Microsoft Document Explorer
1) Dillo. (Russian language patches - here).
2) Konqueror.
3) Nautilus.
4) Lynx / Links.
Viewing all operations with files
Filemon
Filemon.
Work with UDF
Roxio (former Adaptec) UDF Reader, Roxio Direct CD
Linux-UDF.
Work with multi session CD + recovering information from faulty multi session disks
IsoBuster
CDFS.
Work with compressed files
1) WinZip
2) WinRar
3) 7-Zip
4) WinACE
5) UltimateZip
1) Ark (kdeutils).
2) Gnozip.
3) KArchiveur.
4) Gnochive.
5) FileRoller.
6) Unace.
7) LinZip.
8) TkZip.
Console archivers
arj, rar, zip, tar, gzip, bzip2, lha...
1) tar, gzip, bzip2.
2) Unarc.
3) Lha. (on Japanese)
4) Infozip.
5) Arj.
6) Avfs. (The support of any archive from any program - file.zip#/...).
7) Zoo.
8) RAR.
9) CAB Extract.
Program for files and directories comparison
1) Beyond Compare.
2) Araxis Merge.
3) WinMerge
4) Minimalist GNU For Windows (diff.exe)
5) Unison
1) Mgdiff.
2) diff, patch.
3) Xemacs.
4) Xdelta. (make patches for binary files)
5) Meld.
6) Xxdiff.
7) Unison.
Batch file renaming
Plugins to TotalCommander, ...
1) GPRename. (Perl-based)
2) Plugins for MC (???)
3) Desktop / System software.
Text editor
Notepad, WordPad, TextPad, Vim, Xemacs, ...
1) Kedit (KDE).
2) Gedit (Gnome).
3) Gnotepad.
4) Kate (KDE).
5) KWrite (KDE).
6) Nedit.
7) Vim.
8) Xemacs.
9) Xcoral.
10) Nvi.
11) Ozeditor.
Console text editor
1) Vim
2) Emacs
3) Editor from FAR, editor from DN, ...
1) Vim.
2) Emacs.
3) Nano. (It's a free implementation of pico)
4) joe.
5) Fte.
6) Jed.
7) CoolEdit.
Multi-purpose text and source code editor
SciTE, UltraEdit, MultiEdit, Vim, Xemacs, ...
1) Kate (KDE).
2) Nedit.
3) CodeCommander.
4) SciTE.
5) Quanta Plus.
6) Vim.
7) Xemacs.
8) Mcedit (comes with mc).
9) Jed.
10) Setedit. (Turbo Vision looking style)
11) HT editor.
Text editor with cyrillic encodings support
Bred, Rpad32, Aditor, Vim, Xemacs
1) Kate (KDE).
2) Nedit.
3) Fte (console).
4) Patched version of Midnight Commander.
5) Vim.
6) Xemacs.
Viewing PostScript
1) RoPS
2) GhostView
1) GhostView.
2) Kghostview.
3) GV.
4) GGV.
Viewing PDF
1) Adobe Acrobat Distiller
2) GhostView
1) Acrobat Reader. [Prop]
2) Xpdf.
3) GV.
4) GGV.
5) GhostView.
6) Kghostview.
Creating PDF
1) Adobe Acrobat Distiller
2) GhostView
3) Ghostscript
1) Any Linux WYSIWYG program -> print to file -> ps2pdf. (Here's an article about this).
2) Adobe Acrobat Distiller. [Prop]
3) PStill. [Shareware]
4) PDFLatex.
5) Xfig.
6) Ghostscript.
7) Tex2Pdf.
8) Reportlab.
9) GV.
10) GGV.
11) GhostView.
12) Kghostview.
13) Panda PDF Generator.
Crypto
PGP, GnuPG + Windows Privacy Tools
1) GnuPG (console) + GPA, KGpg, and other frontends.
2) PGP. [Prop]
Disc volume encryption
EFS (standard), PGP-Disk, BestCrypt, Private Disk Light
1) Loop-aes.
2) CFS.
3) TCFS.
4) BestCrypt.
5) CryptFS.
Task scheduler
mstask, nnCron
cron, at (standard, console). GUI: Kcron.
Outlook scheduler
Outlook scheduler
1) KOrganizer.
Virtual CD
VirtualDrive, VirtualCD, Daemon Tools, ...
1) Virtual CD Kernel Modul.
2) "cp /dev/cdrom mycd.iso" + "mount -o loop mycd.iso /mnt/cdrom/".
Text recognition (OCR)
Recognita, FineReader
1) ClaraOcr.
2) Gocr.
3) Kooka.
Translators (cyrillic)
Promt, Socrat
Ksocrat (???)
Eng-rus dictionaries (cyrillic)
1) ABBYY Lingvo
2) Socrat
3) JaLingvo
4) phpMyLingvo
1) Mueller.
2) Ksocrat.
3) JaLingvo.
4) phpMyLingvo.
5) dict+Kdict.
6) DictX.
7) Groan.
8) Mova.
9) Slowo.
10) Stardict.
Work with scanner
Programs on CD with scanner, VueScan
1) Xsane.
2) Kooka.
3) Xvscan. [Prop]
4) VueScan. [Prop]
Antivirus
AVG AntiVirus, NAV, Dr. Web, TrendMicro, F-Prot, Kaspersky, ...
1) Dr. Web. [Prop]
2) Trend ServerProtect. [Prop]
3) RAV Antivirus. [Prop] (Bought by Microsoft?)
4) OpenAntivirus + AMaViS / VirusHammer.
5) F-Prot. [Prop]
6) Sophie / Trophie.
7) Clam Antivirus.
8) Kaspersky. [Prop]
9) YAVR.
System configuration
Control Panel, Msconfig, RegEdit, WinBoost, TweakXP, Customizer XP, X-Setup, PowerToys, Config NT, ...
1) setup (Red Hat).
2) chkconfig (Red Hat).
3) redhat-config-. (Red Hat 8.0).
4) xf86config, xf86cfg.
5) Linuxconf.
6) Drakeconf.
7) Webmin.
8) yast and yast2 (SuSE).
9) sysinstall (FreeBSD).
10) /dev/hands .
Boot managers
System Commander, PowerQuest Boot Magic, GAG, ...
1) Grub.
2) Lilo.
3) ASPLoader.
4) Acronis OS Selector [Prop].
5) Ranish Partition Manager.
6) osbs.
7) Symon.
8) Smart Boot Manager.
9) Xosl.
10) GAG.
Hard disk partitions manager
1) PowerQuest Partition Magic [Prop]
2) Acronis PartitionExpert [Prop]
3) Paragon Partition Manager [Prop]
4) Partition Commander [Prop]
1) PartGUI. (GUI for partimage and parted)
2) GNU Parted. (GUI - QTParted).
3) Partition Image.
4) fips.
5) Diskdrake (Mandrake).
6) Paragon Partition Manager [Prop].
7) Acronis PartitionExpert [Prop]. (review)
LVM + soft-RAID + parted + ...
-
EVMS.
Backup software
ntbackup (standard), Legato Networker [Prop]
1) Legato Networker. [Prop]
2) Lonetar. [Prop]
3) Disk Archive.
4) Bacula.
5) Taper.
6) dump / restore. (console, standard)
7) Amanda (console).
8) Mondo Rescue. (backups that boot and auto restore themselves to disk)
Making images of disk partitions
1) DriveImage
2) Ghostpe
1) PartitionImage (GUI - PartGUI).
2) dd (console, standard).
3) Mondo Rescue.
Machine mirroring over network
1) ImageCast
2) Norton Ghost
1) UDP Cast.
2) Techteam's UDP Cast Disks.
3) Ghost for Unix (g4u).
Task manager
TaskMan (standard), TaskInfo, ProcessExplorer NT.
1) top (console, standard).
2) Gtop, Ktop.
3) Ksysguard.
4) "ps aux|more", "kill
"
Automatic switch between English and Russian when you type
Punto Switcher, Keyboard Ninja, Snoop
No analogs .
Mouse gestures
Sensiva
1) Kgesture.
2) wayV.
3) Optimoz.
TV program
???
Home Portal.
Text to speech
MS text to speech
1) KDE Voice Plugins.
2) Festival.
3) Emacspeak.
4) VoiceText.
Speech recognition
ViaVoice, DragonNaturally Speaking
Yes, there are no usable speech recognition packages. But:
1) Sphinx.
2) ViaVoice. (almost dead...)
Stream text processing
1) Minimalist GNU For Windows (sed.exe)
2) perl
1) sed, awk.
2) perl.
PIM / DB / hierarchical notebook with tree view
TreePad [Prop], Leo, CueCards
1) TreePad Lite. [Prop]
2) Yank.
3) TreeLine.
4) Gjots.
5) Leo.
6) Hnb - hierarchical notebook.
7) TuxCards.
Program for quick switching between resolutions and frequencies
Integrated with system, comes on CD with video card
1) Multires.
2) Ctrl+Alt+"-", Ctrl+Alt+"+".
3) Fbset. (when using framebuffer)
Search and replace text in files
1) Integrated with system
2) Indexing service
3) HTMLChanger
4) Any file manager
1) find (console, standard).
2) slocate (console, standard).
GUI:
1) Gsearchtool.
2) Kfind.
3) Any file manager
Local search engine with SGBD for indexing
1) Indexing service (???)
2) mnoGoSearch. [prop for Windows]
1) mnoGoSearch.
2) ASPSeek.
System monitoring
System monitor (built-in)
1) top (console, standard).
2) Gkrellm.
3) Ksysguard.
4) Survivor.
5) "Hot-babe". (If you can be shocked by nudity, don't use it .
Program for logs viewing
Event Viewer (built-in)
1) Xlogmaster.
2) Analog.
3) Fwlogview. (firewall)
Data Recovery Tools
R-Studio (supports Linux partitions)
1) e2undel.
2) myrescue.
3) TestDisk.
4) unrm.
5) Channel 16.
Text files encoder with automatic detection of character set
???
1) Enca.
2) Jconv.
3) Xcode. (cyrillic)
4) Asrecod. (cyrillic)
Alarm clock
MindIt!
1) KAlarm.
Work with Palm
Palm Desktop
1) Kpilot.
2) Jpilot.
Allows to carry on Palm .html files
iSilo
1) iSilo.
2) Plucker.
Low-level optimization
(chipset, pci-bus)
Powertweak
1) Powertweak-Linux.
Bible
On-Line Bible, The SWORD
1) BibleTime (KDE)
2) Gnomesword (Gnome)
Convenient mouse scrolling
Mouse Imp
???
Automatic change of desktop background
???
1) Background Buddy.
Convenient switching of the keyboard language
???
1) GSwitchIt.
Windows registry editor
RegEdit
Kregedit .
4.1) Multimedia (audio / CD).
Useful links:
-
Linux MIDI & Sound Applications - many links and resources.
Sound Software - lots of it.
Music / mp3 / ogg players
1) Winamp
2) Zinf
3) SnackAmp
4) Soritong
5) Apollo
6) K-jofol 2000
7) Sonique
8) C-4
9) Media Box Audio / Video Workstation 5
10) Blaze Media Pro
11) NEX 3
12) Real Jukebox
13) Windows Media Player
1) XMMS (X multimedia system).
2) Noatun.
3) Zinf. (former Freeamp)
4) Winamp.
5) Xamp.
6) GQmpeg.
7) SnackAmp.
8) Mplayer. (Frontend: Kplayer).
9) Xine. (Frontends: Sinek, Totem)
Console music / mp3 / ogg players
mpg123, dosamp, Mplayer
1) Cplayer.
2) mpg123.
3) ogg123.
4) mpg321.
5) Orpheus.
6) Mp3blaster.
7) Madplay.
8) Console utils for xmms.
9) Mplayer.
Programs for CD burning with GUI
Nero, Roxio Easy CD Creator, ...
1) K3b. (KDE)
2) XCDRoast.
3) KOnCd.
4) Eclipt Roaster.
5) Gnome Toaster.
6) CD Bake Oven.
7) KreateCD.
8) SimpleCDR-X.
9) GCombust.
10) WebCDWriter. (CD burn server, usable from any remote browser with Java support)
11) CDR Toaster.
12) Arson.
13) CD-Me (Creation of audio-CD).
CD player
CD player, Winamp, Windows Media Player, ...
1) KsCD.
2) Gtcd (Gnome) + tcd (console).
3) Orpheus. (console)
4) Sadp.
5) WorkMan.
6) Xmcd.
7) Grip.
8) XPlayCD.
9) ccd / cccd. (console)
10) cdp. (console)
11) BeboCD.
Slowing the rotation of CD
Slowcd, Cdslow
1) mount -o speed=
2) hdparm -E
3) eject -x
4) cdspeed.
CD ripping / grabbing
1) Cdex
2) MusicMatch
3) Streambox Ripper
4) Audiocatalyst
5) WinDac
6) Audiograbber
7) Media Box Audio / Video Workstation
8) CD-Copy
9) Blaze Media Pro
10) Real Jukebox
11) Windows Media Player
12) Nero
13) VirtualDrive
14) VirtualCD
15) Audacity
1) Grip.
2) Audacity.
3) RipperX.
4) tkcOggRipper.
5) A Better CD Encoder.
6) cdda2wav.
7) Gnome Toaster.
8) Cdparanoia.
9) Cd2mp3.
10) Dagrab.
11) SimpleCDR-X.
12) RatRip.
13) AutoRip.
14) Sound Juicer.
Tracker music player
Winamp, Windows Media Player, ...
1) xmms + MikMod-plugin. Comes with xmms.
2) xmms + xmp-plugin. Using xmp.
3) MikMod. (console)
4) xmp. Can play tracker music with Midi devices.
5) TiMidity++. Only mod files.
Midi player
Winamp, Windows Media Player, ...
1) xmms + midi-plugin. (Using TiMidity)
2) xmms + awemidi-plugin. (Using drvmidi)
3) xmms + playmidi-plugin. (Using playmidi)
4) TiMidity++. Supports gus pathes and sf2 banks, backend to another software.
4) timidity-eawpatches. Gus-patches for TiMidity++.
5) Kmid.
6) drvmidi / awemidi.
7) pmidi (console, for ALSA).
8) playmidi.
9) atmidi.
Midi + karaoke player
VanBasco
1) Kmid.
2) Gkaraoke.
3) TiMidity++.
Mp3 encoders
1) Lame
2) Cdex
3) MusicMatch
4) Streambox Ripper
5) Audiocatalyst
6) Blaze Media Pro
7) Media Box Audio / Video Workstation
8) AudioSlimmer
9) Real Jukebox
1) Lame.
2) Bladeenc.
3) NotLame.
4) L3enc. [Prop]
5) gogo.
OGG encoders
oggenc
oggenc.
Work with Real protocol
1) RealPlayer. [Prop]
2) Mplayer + libraries.
1) RealPlayer. [Prop]
2) Mplayer + libraries.
3) ReMedial.
Radio
VC Radio, FMRadio, Digband Radio
1) xradio.
2) cRadio.
3) Xmradio.
4) RDJ.
5) RadioActive.
6) XMMS-FMRadio.
7) Gqradio.
8) Qtradio.
Audio editors
SoundForge, Cooledit, Audacity, ...
1) Glame.
2) Rezound.
3) Sweep.
4) WaveForge.
5) Sox.
6) Audacity.
7) GNUSound.
8) Ecasound.
9) SoundStudio.
10) mhWaveEdit.
Multitrack audio processor
Cubase
1) Ecasound.
2) Ardour.
Sound tracker
Fasttracker, ImpulseTracker
1) Soundtracker.
2) Insotracker.
3) CheeseTracker.
Sound mixer
sndvol32
1) Opmixer.
2) aumix.
3) mix2000.
4) KMix.
5) Alsamixer.
6) GMix.
7) wmix (for WindowMaker)
8) Mixer_app (for WindowMaker)
9) Many applets for AfterStep / WindowMaker / FluxBox.
Software for music notation
Finale, Sibelius, SmartScore
1) LilyPond.
2) Noteedit.
3) MuX2d.
Midi-sequencer
Cakewalk
1) RoseGarden.
2) Brahms.
3) Anthem.
4) Melys.
5) MuSE.
6) MidiMountain. (KDE)
More infrormation: Midi-Howto.
Music creation
Cakewalk, FruityLoops
1) RoseGarden.
2) Ardour.
Synthesizer
Virtual waves, Csound
1) Csound.
2) FluidSynth.
3) Arts Builder (???).
ID3-Tag Editors
Mp3tag
1) EasyTAG.
2) Cantus.
3) id3tool (console).
4) id3ed (console).
5) id3edit (console).
Guitar/Instrument Tuning software
1) In-Tune Multi-Instrument Tuner
2) Digital Guitar Tuner
???
Record streaming audio into .MP3 files
Twins Stream Ripper
Stream Ripper.
4.2) Multimedia (graphics).
Graphic files viewer
1) ACDSee
2) IrfanView
3) Xnview
4) CompuPic [Prop]
5) Windows Fax and Image viewer
5) Any web browser
1) Xnview.
2) GQview.
3) Qiv.
4) CompuPic [Prop]
5) Kuickshow.
6) Kview.
7) GTKSee.
8) xv. [Prop]
9) pornview.
10) imgv.
11) Gwenview.
12) Gliv.
13) Showimg.
14) Fbi.
15) Gthumb.
16) PixiePlus.
17) Electric Eyes (Gnome).
18) Eye of Gnome.
19) GImageView.
20) Hugues Image Viewer.
21) Any web browser.
Viewing the graphic files in console
QPEG
1) zgv.
2) aalib.
Simple graphic editor
Paint
1) Kpaint.
2) Tuxpaint.
3) Xpaint.
4) Gpaint.
5) Killustrator.
6) Graphtool.
Powerful graphic editor in PhotoShop style
1) Adobe Photoshop [Prop]
2) Gimp
3) Paint Shop Pro [Prop]
4) Pixel32 [Prop]
5) Corel PhotoPaint [Prop]
6) Macromedia Fireworks
1) Gimp.
2) ImageMagick.
3) Pixel32. [Prop]
4) CinePaint.
5) RubyMagick.
6) Corel PhotoPaint 9. [Prop]
Programs for work with vector graphics
Adobe Illustrator, Corel Draw, Freehand, AutoSketch, OpenOffice Draw
1) Sodipodi.
2) xfig.
3) Sketch.
4) Karbon14 and Kontour.
5) OpenOffice Draw.
6) Dia.
7) Tgif.
8) Gestalter.
9) ImPress.
10) Tkpaint.
11) Tgif.
12) Corel Draw 9. [Prop]
SVG editor
WebDraw [Prop]
1) Sodipodi.
2) Dia.
3) Sketch.
SVG viewer
1) Squiggle
2) X-Smiles
3) SVG support in Mozilla
1) Squiggle.
2) X-Smiles.
3) SVG support in Mozilla.
4) SVG support in Konqueror.
Program for text decoration
Wordart, OpenOffice Draw
OpenOffice Draw.
Program for ASCII-drawing
ANSI DRAW, Mazaika
1) CanvASCII.
2) Jave.
3) ANSI Draw.
4) EDASCII.
Converting the graphic files in pseudographics
???
aalib.
Flash playing
Flash Player
1) SWF Macromedia Flash Player.
2) Flash Player. [Prop]
3) Plugin for Netscape/Mozilla (download here or here).
Flash creation
Macromedia Flash
1) DrawSWF.
2) Ming. (Creating flash swf output from programming languages)
3D-graphics
3D Studio MAX, Maya [Prop], Povray, ...
1) Blender.
2) Maya. [Prop]
3) KPovModeler.
4) K3Studio.
5) Moonlight.
6) GIG3DGO.
7) Povray.
8) MegaPov.
9) K3D.
10) Wings 3D.
11) Softimage XSI. [Prop]
12) Kludge3d.
The instrument for making the photographic quality scene based of ArchiCAD 3D-models
ArtLantis Render
???
Icon editor
Microangelo
1) Gnome-iconedit.
2) Kiconedit.
Small program for making screenshots
Integrated with system (PrintScreen), Snag it, ...
1) Ksnapshot.
2) Xwpick.
3) Xwd, xgrabsc.
4) Motv (xawtv)
5) Streamer (video)
6) Integrated with window manager (various hotkeys)
Drawing structure diagrams of the database
Access
1) Dia.
2) Toolkit for Conceptual Modelling.
Create printed calendars, greeting cards, etc., with clip art collection
Broderbund Print Shop
???
Download pictures from digital camera
Polaroid Drivers
1) Camera Tool (gtkam)
2) Gphoto2.
4.3) Multimedia (video and other)
Video / mpeg4 players
1) BSplayer
2) Zoomplayer
3) Windows Media Player
4) VideoLAN
5) Winamp3
6) Mplayer
7) RealPlayer
8) Xing
9) Simplayer
1) Mplayer. (Frontend: Kplayer).
(LiveCD distribution of Mplayer - MoviX).
2) Xine. (Frontends: Sinek, Totem)
3) VideoLAN.
4) Aviplay.
5) Winamp3.
6) Noatun.
7) KDE Media Player.
8) XMovie.
9) Kaboodle.
10) MpegTV.
11) Avifile.
12) Xmps.
13) Ogg Tarkin. (???)
14) Theora. (???)
Console video / mpeg4 players
QuickView
1) Mplayer.
2) QuickView.
DVD players
PowerDVD, WinDVD, MicroDVD, Windows Media Player, VideoLAN
1) Ogle.
2) Mplayer.
3) Xine.
4) Aviplay.
5) VideoLAN.
6) OMS.
DVD rippers / encoders
Gordian Knot, Mencoder (from Mplayer)
1) Drip.
2) Transcode.
3) Mencoder. (from Mplayer)
4) Ffmpeg.
5) DVD::Rip.
Simple video creation and editing
Windows Movie Maker
1) iMira Editing. [Prop]
2) MainActor. [Prop]
3) Broadcast 2000.
4) Avidemux.
Professional video production enviroment
Adobe Premiere, Media Studio Pro
1) iMira Editing.
2) Cinelerra.
3) MainActor.
4) Broadcast 2000.
5) Lives.
6) CinePaint.
7) Heroine Virtual.
Cutting video
Virtual Dub
1) Avidemux.
2) Kino.
Converting video
Virtual Dub, Mencoder (from Mplayer)
1) Transcode.
2) Mencoder. (from Mplayer)
3) Ffmpeg.
Work with TV-tuner / watch TV
AVerTV, PowerVCR 3.0, CinePlayer DVR, Mplayer, ...
1) Tvtime.
2) Kwintv.
3) Xawtv.
4) Zapping.
5) GnomeTV.
6) Mplayer.
7) Xawdecode.
Work with TV-tuner in console
-
1) Mplayer.
2) fbtv.
3) aatv.
Work with QuickTime format
QuickTime Player
1) QuickTime.
2) Mplayer + Sorenson codec.
3) OpenQuicktime.
4) Xanim.
Creation of 2D and 3D effects
Adobe After Effects
1) Shake. [Proprietary, $129.95]
2) Plugins for Gimp.
Animation
Animation Shop, ...
1) CinePaint.
2) Plugins for Gimp.
Landscape / terrain generation
Bryce
Terraform.
World construction
World Construction Set, Animatek
World Builder
???
Framework for developing video applications
???
1) Gstreamer.
2) Live.
5) Office/business.
Office suite
MS Office, StarOffice / OpenOffice, 602Software
1) OpenOffice.
2) StarOffice. [Prop]
3) Koffice.
4) HancomOffice. [Prop]
5) Gnome Office.
6) Applixware Office. [Prop]
7) Siag Office.
8) TeX, LaTeX, ...
Office suite
WordPerfect Office 2000
WordPerfect Office 2000 for Linux. (No longer available at Corel website. It was Windows version, running under Wine .
Word processor
Word, StarOffice / OpenOffice Writer, 602Text, Abiword
1) Abiword.
2) TextMaker [Prop]
3) WordPerfect.
4) Ted.
5) StarOffice / OpenOffice Writer.
6) Kword.
7) LyX.
8) Kile (KDE Integrated LaTeX Environment).
Spreadsheets
Excel, StarOffice / OpenOffice Calc, 602Tab
1) Gnumeric.
2) Abacus.
3) StarOffice / OpenOffice Calc.
4) Kspread.
Graphing / charting data
Excel, MicroCall Origin, ...
1) Kivio.
2) Dia.
3) KChart.
4) xfig.
5) Gnuplot.
6) GtkGraph.
7) GNU Plotutils.
8) Ploticus.
Creating presentations
MS PowerPoint, StarOffice Presentation, OpenOffice Impress
1) StarOffice Presentation.
2) OpenOffice Impress.
3) Kpresenter.
4) MagicPoint.
5) Kuickshow & gimp .
Local database
MS Access, InterBase6, OpenOffice + MySQL.
1) KNoda.
2) Gnome DB Manager.
3) OpenOffice + MySQL.
4) InterBase7. [Prop]
5) InterBase6.
6) Berkley DB.
7) Rekall. [Prop]
8) StarOffice Adabase.
Receiving the quotings, news, building graphs and analysing of the financial market.
Omega Research Trade Station 2000
1) The Market Analysis System (MAS)
Software for e-commerce and web business
1) Weblogic [Prop]
2) IBM WebSphere Application Server [Prop]
3) iPlanet
4) osCommerce
5) JOnAS
6) COCOON
1) Weblogic. [Prop]
2) JBoss.
3) IBM WebSphere Application Server. [Prop]
4) osCommerce.
5) JOnAS.
6) COCOON.
Personal finances manager
1) MS Money
2) Quicken
3) Moneydance [Prop]
1) GNUcash.
2) GnoFin.
3) Kmymoney.
4) Grisbi.
5) Moneydance. [Prop]
Project management
MS Project, Project Expert 7
1) Mr Project.
2) Outreach.
Financial accounting package (global)
???
1) Hansa Business Solutions. [Prop]
2) Quickbooks.
Financial accounting package (russian)
"1C: Accounting"
1) Hansa Business Solutions. [Prop]
2) IceB.
3) "Finances without problems".
4) Ananas.
5) E/AS.
6) 1L: Project.
Financial accounting package (India & Asia)
???
Kalculate. [Prop]
Automation of the enterprise (russian)
"1C: Enterprise"
1) Keeper. [Prop]
2) Oblik. [Prop]
3) IceB.
4) Compiere.
ERP/CRM (english)
???
1) Compiere.
2) Dolibarr.
3) Tutos.
ERP/CRM (russian)
"BOSS-Corporation"
1) NauRP.
2) Compiere.
3) Dolibarr.
Corporate docflow system (russian).
1) "Boss-Referent"
2) Documentum
3) "Delo"
4) Lanit:LanDoc
1) NauDoc.
2) Documentum.
3) "Boss-Referent" (without the client part)
6) Games.
Where to get
Anywhere you want .
The Linux Game Tome (happypenguin.org) | LinuxGames.com | Kde Games | Linux Game Publishing
The Linux Game List
-
http://www.icculus.org/lgfaq/gamelist.php
Games for Windows, that can be run under WineX
-
This is a search form, and this is a full list of games (very big).
-
Tetris
1) LTris.
2) XWelltris.
3) Emacs + "Meta-X tetris".
4) Ksirtet.
-
Standard Windows games
1) Kdegames.
2) Gnome-games.
-
Mines
1) KMines.
2) Perlmines.
3) Dmines.
-
Civilization
FreeCiv.
-
Civilization: Call to Power
Civilization: Call to Power.
-
Sid Meyer Alpha Centauri
Sid Meyer Alpha Centauri.
-
Sim City 3000
Sim City 3000.
-
Command&Conquer
FreeCNC.
-
Warcraft 2, Starcraft (?)
FreeCraft.
-
(Win)Digger
1) Digger.
2) XDigger.
-
Arkanoid, Zball, ...
Lbreakout2.
Quake 1, 2, 3
1) Quake 1, 2, 3.
2) QuakeForge.
3) DarkPlaces.
1) Quake 1, 2, 3.
2) QuakeForge.
3) DarkPlaces.
-
CounterStrike
CounterStrike under WineX.
-
Urban Terror
Urban Terror.
DOOM
1) jDoom / Doomsday.
2) Zdoom.
3) DOOM Legacy.
4) LxDOOM.
5) PrBoom.
6) EDGE.
7) Vavoom.
8) Original Doom.
1) jDoom / Doomsday.
2) Zdoom.
3) DOOM Legacy.
4) LxDOOM.
5) PrBoom.
6) EDGE.
7) Vavoom.
8) Original Linux Doom (X11/svgalib).
Heretic
1) DOOM Legacy.
2) jHeretic / Doomsday.
3) Vavoom.
4) Original Heretic.
1) DOOM Legacy.
2) Vavoom.
3) Heretic, GL Heretic.
Hexen
1) jHexen / Doomsday.
2) Vavoom.
3) Original Hexen.
1) Hexen/SDL.
2) Vavoom.
-
Heretic 2
Heretic 2.
-
Return to Castle Wolfenstein
Return to Castle Wolfenstein. [Prop]
-
Descent
Descent.
-
Never Winter Nights
Never Winter Nights.
-
Unreal Tournament / Unreal Tournament 2003
Unreal Tournament / Unreal Tournament 2003.
-
Soldier Of Fortune
Soldier Of Fortune.
-
Tribes 2
Tribes 2.
-
Blood 1
Qblood.
-
Worms
Nil.
-
Lines
1) GtkBalls.
2) gLines.
-
MS Flight Simulator
FlightGear.
-
Lemmings
Pingus.
Racing
Need For Speed
1) Tux Racer .
2) KartlingRace.
Chess
ChessMaster, ...
1) Glchess.
2) Xboard.
3) Eboard.
7) Programming and development.
IDE
1) Microsoft VisualStudio .net
2) Emacs, XEmacs
3) Vim + ctags + scripts from vim.sf.net
4) Boa Constructor
5) PythonCard
1) CodeForge.
2) Kdevelop + Qt3 Designer.
3) Eclipse.
4) Glade + Motor or + Xwpe or + any text editor.
5) Emacs, XEmacs.
6) Vim + ctags + scripts from vim.sf.net.
7) Boa Constructor.
8) PythonCard.
Visual C++ IDE
Borland C++ Builder, MS Visual C
1) Anjuta + Glade + Devhelp.
2) KDE Studio Gold. [Prop]
3) Dev-C++.
4) Kylix. [Prop] (Kylix Personal Edition is free).
5) vtkBuilder.
6) foxBuilder.
7) wxDesigner.
8) Arriba. [Prop]
9) Code Crusader. [Prop]
10) CodeWarrior. [Prop]
11) Gbuilder.
12) Source Navigator.
13) TimeStorm. [Prop]
14) Understand for C++. [Prop]
15) SlickEdit. [Prop]
16) Vide.
C++ IDE
Borland Turbo C++ 3.0 for DOS, , Minimalist GNU For Windows (mingw32-gcc.exe)
1) GCC (+ Motor or + Xwpe).
2) LinEdit.
3) Rhide.
4) Wxstudio.
5) Eclipse.
Object Pascal IDE
Delphi
1) Kylix. [Prop] (Kylix Personal Edition is free).
2) Lazarus + FPC.
Pascal
Pascal, BP
1) Freepascal.
2) GNU Pascal (gpc).
3) RShell (in style of Borland Pascal 7.0)
Basic
Basic
1) Hbasic.
2) X-basic.
3) Yabasic.
4) SmallBASIC.
Prolog
VisualProlog, Mercury, SICStus Prolog [Prop]
1) GNU Prolog.
2) Mercury.
3) SWI-Prolog.
4) SICStus Prolog. [Prop]
5) CIAO Prolog.
Assembler
TASM, MASM, NASM
1) NASM. (Intel syntax)
2) FLAT Assembler.
3) gas. (AT&T syntax, part of binutils).
Disassembler, Reverse engineering
SoftIce
The source code is open
1) ldasm.
Debugger
1) WinDbg
2) Minimalist GNU For Windows (gdb.exe)
gdb. Frontends:
1) ddd.
2) xxgdb, mxgdb.
3) CGDB.
4) Vim scripts.
5) [X]Emacs C-mode.
6) KMD.
7) NANA. (Library)
WYSIWYG html editor
1) Macromedia Dreamweaver
2) MS Frontpage
3) Netscape / Mozilla Composer
4) Openoffice HTML editor
1) Netscape / Mozilla Composer.
2) Openoffice HTML editor.
3) Amaya.
4) GINF (Ginf is not Frontpage)
5) IBM WebSphere Homepage Builder. [Prop]
6) JXHTMLEDIT (Java).
Powerful editor for site creating, contains set of samples and can be complemented with every sort and kind of plug-ins
Dreamweaver Ultradev
???
HTML / DHTML editor
HomeSite, Coffeecup
1) Quanta Plus.
2) Bluefish.
3) WebMaker.
4) Screem.
5) Toppage.
6) WebDesigner.
7) ScriptEditor.
8) August.
9) Coffeecup / Linux.
10) FCKeditor.
HTML / DHTML editor
Arachnofilia
Arachnofilia. [Prop]
XML Editor
XML Spy [Prop]
1) XMLMind XML Editor.
2) Vim.
3) Emacs.
Perl/Python/Tcl IDE
???
1) Komodo. [Prop]
2) Perl Dev Kit.
Java IDE
JBuilder, IDEA
Link: Java Tools for Linux.
1) Jbuilder.
2) NetBeans.
3) Eclipse.
4) Sun ONE Studio. [formerly Forte]
5) Vide.
J2EE based application server
???
1) JBoss.
IDE for Oracle Database development
T.O.A.D., SQL Navigator, PL/SQL Developer
Tora.
CASE-facility for UML
ArgoUML, Together ControlCenter [Prop]
1) Umbrello UML Modeller.
2) Dia+Dia2Code.
3) PoceidonCE (community edition).
4) ArgoUML.
5) Together ControlCenter [Prop]
Top-level CASE system
Rational Rose.
Rational Rose. [Prop]
HEX-editor
Hiew
1) Biew.
2) KHexEdit.
3) hexedit (console).
4) GHex.
Clipper compiler and preprocessor
CA-Clipper, The Harbour Project
1) Clip.
2) The Harbour Project.
3) xHarbour.
Platform in dot-net style
M$ .Net
1) Mono.
2) DotGNU/Portable.NET
Work with CVS
WinCVS, TortoiseCVS, cvs for Windows, BitKeeper [Prop]
1) cvs (console).
2) Cervisia (KDE).
3) Lincvs. (Front-end for CVS)
4) BitKeeper. [Prop]
5) SubVersion. (enhanced CVS-like platform + WebDAV -> SCM)
IDE for Interbase/Firebird development
IBExpert
1) IBAccess
2) IBAdmin [prop]
3) IBWebAdmin (apache / php)
Visual Basic
Visual Basic
1) Phoenix.
2) KBasic.
3) HBasic.
4) Mono.
Graphical libraries
1) WinAPI, MFC, VCL (C, C++)
2) Tk (Tcl, C)
3) Tkinter (over Tk for Python, Perl, etc)
4) wxWindows (C++) (over winapi)
5) wxPython (Python) (over wxWindows)
6) GTK+ (link #2) (C, C++)
7) Qt (C++)
8) FLTK (C++)
9) AWT, Swing (Java)
10) Xaw - part of X-server (C)
If toolkit is oriented on C, usually it's possible to use it from the other languages. There is object bindings for some of them to use them with C++ and other OO-languages. Toolkits, oriented on C++ from the beginning, are impossible to use from C, and quite often - from the other languages.
1) X11/Xext (C) - low level libraries, used by others.
2) Xt - X Toolkit (C) - reference X11 toolkit
3) Xaw - MIT Athena (C) - reference X11 toolkit
4) Xaw3d - MIT Athena 3D (C) - Athena with 3D-view
5) LessTif - opensource analog of Motif 1 (C)
6) OpenMotif (C)
7) Tk (Tcl, C)
8) Tkinter (over Tk for Python, Perl, etc)
9) wxWindows (C++) (over GTK+ - wxGtk or Motif - wxMotif)
10) wxPython (Python) (over wxWindows)
11) Qt (C++)
12) GTK+ (C, C++)
13) PyQt (over Qt for Python)
14) PyGTK (over GTK+ for Python)
15) Gtk::Perl (over GTK+ for Perl)
16) Qt for Perl (over Qt for Perl)
17) GtkAda (over GTK+ for Ada95)
18) FLTK (C++)
19) XView (C)
20) FOX (C++)
21) AWT, Swing (Java)
22) WinAPI and MFC through wine (C)
Source code documentation system
???
1) Doxygen.
2) CWEB.
Memory leak tracing
1) Numega Bounds Checker
2) Rational Purify
1) MallocDebug.
2) Valgrind.
3) Kcachegrind.
4) ElectricFence.
5) dmalloc.
6) ccmalloc.
7) LeakTracer.
8) memprof.
9) BoundsChecker. [prop]
10) mprof.
11) Insure. [prop]
12) dbx. (for Sparc)
13) YAMD.
14) Njamd.
15) Mpatrol.
Application development profiling (tests code performance)
???
1) gProf.
2) JUnit. (Java)
Software projecting
1) Rational Rose
2) Enterprise Architec
3) Visio
???
Game programming
1) DirectX
2) libSDL
3) ClanLib
1) libSDL
2) ClanLib
Everything needed for work with XML Schemas, DTD, XSL/XSLT, SOAP, WSDL (edit, debug, check, etc)
1) Altova XMLSpy Suite
???
Source code -> HTML-document with highlighted syntax
???
1) Webcpp.
Bug Tracking System
???
1) Bugzilla.
Object Request Broker (ORB)
1) ORBIT
1) ORBIT.
Portability
???
1) Autoconf, Automake & Libtool.
Source code indexer and cross-referencer
???
1) GNU GLOBAL.
2) LXR.
Dynamic tracer of system calls
???
1) Syscalltrack.
XML C parser
1) libxml (???)
1) Libxml2.
FoxPro
Visual FoxPro
qwerty
8) Server software.
Web-server
1) Apache
2) IIS
3) Roxen
4) wn
5) cern-httpd
6) dhttpd
7) caudium
8) aolserver
9) Boa
1) Apache.
2) Xitami.
3) Thttp.
4) TUX (Red Hat Content Accelerator).
5) PublicFile.
6) Boa.
7) Caudium.
8) Roxen.
9) Zeus. [Prop]
10) Thy.
FTP-server
Internet Information Server, ServU, War FTP, BulletProof FTP server, FileZilla server, ...
1) pure-ftpd.
2) vsftpd.
3) wu-ftpd.
4) proftpd.
5) gl-ftpd.
6) ftp.
7) PublicFile.
8) Teepeedee.
Language for Web-development
PHP
PHP.
Language for Web-development
Perl
Perl.
Language for Web-development
ASP
ASP module for Apache.
Database engine
MS SQL, MySQL
1) Sybase Adaptive Server Enterprise. [Prop]
2) PostgreSQL. The most advanced open source database.
3) MySQL. The most popular open source database.
4) mSQL.
5) SAP DB.
Database engine
IBM DB2
IBM DB2. [Prop]
Database engine
Oracle
1) Oracle. [Prop]
2) PostgreSQL.
3) Linter. (cyrillic)
Database engine
Informix [Prop]
Informix. [Prop]
Database engine
Borland Interbase, FireBird
FireBird.
Email server
MDaemon, Hamster
1) Sendmail.
2) Qmail.
3) Postfix.
4) Exim.
Email / PIM / Groupware server
Microsoft Exchange
1) CommuniGate Pro. [Prop]
2) Bynari's Insight GroupWare Suite. [Prop]
3) Samsung Contact. [Prop]
4) Teamware Office. [Prop]
5) Novell Netmail. [Prop]
6) Amphora. (Zope / Qmail).
7) Tutos. (Apache / PHP / Mysql / Sendmail).
8) Kroupware. The project from the KDE PIM developers, which is being financed by the government of Germany.
9) SuSe Linux Openexchange Server. [Prop]
10) PHPGroupware.
11) SCOoffice Mail Server. [Prop] (SCO - m.d. .
12) LinuXchangE.
13) OpenOffice.org Groupware Project. (New!)
14) Tiki CMS/Groupware. (Apache / PHP / Mysql).
Mail filter / spam killer
cygwin+Exim port
1) SpamAssassin.
2) Procmail.
3) Mailfilter.
4) yrus-imap.
5) Exim.
6) POPFile.
Mail downloader
MDaemon
Fetchmail.
???
Lotus Domino
Lotus Domino. [Prop]
Server / router on one diskette.
Impossible
As much as you want .
1) muLinux.
2) Dachstein (firewall / dhcp).
3) Serverdisk (http / ftp).
4) Fli4l.
Proxy server
MS Proxy Server, WinGate
1) Squid.
2) Paco.
3) Privoxy.
4) Wwwoffle.
5) OOPS.
Server for supporting Java Servlets and JSP, can work with Apache
Tomcat
Tomcat.
Advanced server statistics
1) AWStats
1) AWStats. (All web-, ftp-, proxy-, mail-, wap- and streaming-servers).
2) ANALOG. (Web-server).
Cluster of servers
???
1) LVS - The Linux Virtual Server.
Cluster filesystems
1) GFS
2) ADIC
1) GFS.
2) OpenGFS.
3) Lustre. (not SAN compatible?)
4) Matrix Server. [Prop]
5) CXFS.
6) GPFS.
7) Oracle Cluster File System (OCFS).
8) Coda.
9) Intermezzo.
10) Convolo cluster.
11) ADIC.
Web Mail
???
1) IMP.
2) CAMAS. (for Caudium web-server).
9) Scientific and special programs.
Useful links:
-
Scientific Applications on Linux - many links to both OSS and proprietary applications.
Math system in MathCad style
Mathcad
Gap.
Math system in Matlab style
Matlab
1) Matlab. [FTP]
2) Octave. (+ Gnuplot)
3) Scilab.
4) R.
5) Yorick.
6) rlab.
7) Yacas.
8) Euler.
Math system in Mathematica style
Mathematica
1) Mathematica. [Prop]
2) Maxima.
3) MuPad.
4) NumExp.
5) Mathomatic.
Math system in Maple style
Maple
1) Maple. [Prop]
2) Maxima.
3) MuPad.
Equation / math editor
Mathtype, MS Equation Editor, OpenOffice Math
1) OpenOffice Math.
2) MathMLed.
3) Kformula (Koffice).
4) LyX.
5) Texmacs.
Programs for three-dimensional modeling
SolidWorks, ...
ProEngineer Linux. [Prop]
Programs for three-dimensional modeling
CATIA
CATIA. It was designed under Unix, and from version 4 (2000) it was ported under Windows (not too successfully).
Programs for three-dimensional modeling
SolidEdge
SolidEdge (part of more powerful package Unigraphics).
Engineering
ANSYS
ANSYS.
CAD/CAM/CAE
AutoCAD, Microstation, ArchiCAD
1) Varkon.
2) Linuxcad. [Prop, ~100$]
3) Varicad. [Prop]
4) Cycas. [Prop]
5) Tomcad.
6) Thancad.
7) Fandango (alpha-version).
8) Lignumcad.
9) Giram.
10) Jcad.
11) QSCad.
12) FreeEngineer.
13) Ocadis.
14) PythonCAD.
15) OpenCascade.
CAD/CAM/CAE, simplified
AutoCAD Lite
Qcad.
Desktop Publishing Systems
Adobe PageMaker, QuarkXPress
Adobe Framemaker. [Proprietary, cancelled]
Small desktop publishing systems
MS Publisher
1) Scribus - Desktop Publishing for Linux.
2) KWord.
Diagram and chart designer
Microsoft Visio
1) Kivio (Koffice).
2) Dia.
3) KChart.
4) xfig.
5) Tgif + dotty.
6) Tulip.
7) Poseidon for UML. [Prop & free versions]
8) JGraph + JGraphPad. (Java)
Geographic image processing software
Erdas Imagine, ER Mapper, ENVI
ENVI.
GIS (Geographical information system)
ArcView
All projects: FreeGIS Project.
1) Grass.
2) Quantum GIS.
3) PostGIS.
4) FreeGIS.
5) MapQuest.
6) MapBlast.
Interactive Geographic Data Viewer
1) Thuban.
1) Thuban.
Vectorization of bitmaps
MapEdit, Easy Trace
1) Autotrace.
Software CNC, controlling machine tools
OpenCNC [Prop]
EMC.
Advanced text processing system in TeX style
MikTex, emTeX (DOS)
1) TeX.
2) TeTeX / LaTeX
3) LyX (WYSIWYM).
4) Kile.
Convenient, functional and user-friendly TeX-files / dvi-files editor.
WinEdt
1) Kile (KDE Integrated LaTeX Environment).
2) Ktexmaker2.
3) Tk LaTeX Editor.
Statistical Computing Language and Environment
S-PLUS
R.
Statistical analysis
SPSS, Statistica, SalStat
Many links - here.
1) PSPP.
2) OpenStat2.
3) "Probability and Statistics Utilities for Linux users"
4) SalStat.
Econometrics Software
Eviews, Gretl
1) Gretl.
Emulation of the circuit
1) Electronic Workbench
2) Altera MaxPlus+
1) Geda.
2) Oregano.
3) Xcircuit.
4) Gnome Assisted Electronics.
5) SPICE.
6) SPICE OPUS.
7) NG-SPICE.
Program to draw chemical structures
Chemdraw, Isisdraw
Xdrawchem.
Downloader and player for Olympus dictophone
Olympus DSS Player
???
Market analysis
MetaStock
???
Electronics scheme design
1) PCAD
2) OrCad
3) Visio
1) Eagle.
2) Geda.
The oscilloscope emulation
Winoscillo
Xoscope.
Measurement of the temperature and voltages on motherboard
MBMonitor, PCAlert, Speedfan
1) KSensors.
2) KHealthCare (KDE).
3) Gkrellm + plugins + blackbox addons.
S.M.A.R.T-attributes and temperature of the hard disk
Come on CD with mainboard, Active SMART
1) smartctl.
2) Hddtemp-0.3.
3) IDEload-0.2.
4) Smartsuite-2.1.
5) Smartmontools.
6) Ide-smart.
7) Smartsuite.
Memory testing
SiSoft SANDRA
Memtest86.
Program for watching temperatures, fanspeeds, etc
SiSoft SANDRA, SiSoft SAMANTHA
1) Ksensors.
2) Lm_sensors.
3) xsensors.
4) wmsensormon and other applets for AfterStep / WindowMaker / FluxBox.
HDD testing / benchmarking
SiSoft SANDRA, SiSoft SAMANTHA, IOzone
1) hdparm.
2) Bonnie++.
3) IOzone.
4) Dbench.
5) Bonnie.
6) IO Bench.
7) Nhfsstone.
8) SPEC SFS. [Prop]
Video testing / benchmarking
Final Reality
1) X11perf.
2) Viewperf.
Realtime Control
SHA Sybera Hardware Access
DIAPM RTAI - Realtime Application Interface.
Simulator of nets
???
1) NS.
Neural network simulation
???
1) Xnbc.
2) Stuttgart Neural Network Simulator (SNNS).
"Sensor for LCD"
???
1) Sensors-lcd.
Electrocardiogrammas viewer
???
1) ecg2png.
A software technology, that turns x86 computer into a full-function PLC-like process controller
SoftPLC
1) MatPLC.
Catalog of the software for translators
-
Linux for translators.
Translation memory
1) Trados Translators Workbench
2) Deja Vu
3) Star Transit
4) SDLX
5) OmegaT
1) OmegaT.
Catalog of educational software
-
1) SchoolForge.
2) Seul / EDU.
Designing and viewing DTDs
NearFar Designer [Prop]
???
Finity Element Analysis

-
1) FELT (Finity Element Analysis)
10) Emulators.
Virtual machine emulator
1) VMWare [Prop]
2) Connectix Virtual PC [Prop]
1) VMWare. [Prop]
2) Win4Lin. [Prop, $89].
3) Bochs.
4) Plex86.
5) User Mode Linux.
Linux emulator
1) CygWin.
2) MKS Toolkit.
3) Bash for Windows.
3) Minimalist GNU For Windows.
1) User Mode Linux.
X Window System (XFree) emulator
XFree under CygWin.
-
Windows emulator
-
1) Wine. (GUI: gwine, tkwine)
2) Transgaming WineX. (GUI: tqgui) [NF]
3) Crossover Office.
DOS emulator
-
1) DOSBox.
2) Dosemu.
Sony PlayStation emulator
ePSXe, ...
1) ePSXe.
2) Pcsx.
ZX Spectrum emulator
X128, Speccyal, SpecX, SpecEmu, UnrealSpeccy, ...
1) Xzx.
2) Glukalka.
3) Fuse.
4) ZXSP-X.
5) FBZX.
6) SpectEmu.
Arcade machines emulator
???
1) MAME.
2) Xmame / Xmess.
3) Advancemame.
Frontends:
advancemenu. ckmame. flynn. gmame. gnomame. grok. grustibus. gxmame. it. it's quit. fancy. kmamerun. kmamu. qmamecat. startxmame. setcleaner. tkmame.
ST emulator
1) Steem.
1) StonX.
2) Steem.
C64 emulator
???
1) Vice.
2) Frodo.
Amiga emulator
???
1) UAE.
2) WinUAE.
Mac 68k emulator
???
1) Basilisk II.
Game boy emulator
1) Visual Boy Advance
1) Visual Boy Advance.
2) VGBA. (GUI: vgb-gui)
Atari 2600 Video Computer System emulator
1) Stella
1) Stella.
2) Saint.
NES / SNES emulator
1) Zsnes.
2) Snes9x.
1) Zsnes.
2) Snes9x.
3) FWNes.
4) GTuxNes.
M680x0 Arcade emulator
1) Rainemu.
1) Rainemu.
Multi / other emulators
???
1) M.E.S.S.
2) Zinc.
11) Other / Humour
Space simulator
1) Openuniverse.
2) Celestia.
3) Zetadeck.
1) Openuniverse.
2) Celestia.
3) Kstars.
4) Zetadeck.
TV driver
-
RivaTV.
System, running from CD without installing (Live CD)
1) Windows PE.
2) PE Builder.
1) Knoppix.
2) Cool Linux.
3) Blin.
4) DemoLinux.
5) DyneBolic.
6) Gentoo (live CD).
7) Lonix.
8) Virtual Linux.
9) Bootable Business Card (LNX-BBC).
10) ByzantineOS.
11) FreeLoader Linux.
12) MoviX.
13) Freeduc CD.
14) SuSE live-eval CD.
15) Freedom Linux.
16) Eagle Linux.
17) Kurumin (Brazilian Portuguese only)
Boot rescue/tools diskette
Windows system diskette
1) Linux system diskette.
2) Tomsrtbt.
3) BanShee Linux.
4) RIP.
Creation of LiveCD for system recovery
???
1) Make CD-ROM Recovery.
File systems
FAT16, FAT32, NTFS, FS for Longhorn
Ext2, Ext3, ReiserFS, XFS, ...
Local file systems mount
ext2fs (driver), explore2fs (program) - ext2/3 under Windows
Linux-NTFS. (driver for NTFS partitions mounting)
Installing software and uninstalling
InstallShield, WISE, GhostInstaller, Microsoft Installer - the analog of rpm
1) Rpm.
2) Urpmi.
3) GnoRpm.
4) Nautilus RPM.
5) Apt-get & frontends (synaptic, aptitude, ...).
6) Apt-rpm. (for RedHat, SuSE, ALT Linux, etc)
7) yum (Yellowdog Updater Modified)
8) yum enhanced by ASPLinux.
9) Gentoo Portage
Installing software from source and uninstalling
Minimalist GNU For Windows
1) make install, make uninstall
2) CheckInstall.
3) Sinstall.
4) Emerge (Gentoo).
5) Apt-get & frontends (synaptic, aptitude, ...).
System update
Windows Update
1) Ximian Red Carpet.
2) Red Hat Network.
3) MandrakeOnline.
4) SuSE YaST Online Update.
5) Caldera Volution Online.
6) Apt.
7) Gentoo ebuilds (portage).
8) Debian GNU/Linux package search.
9) Yum.
Certification
MCSD, MCT, MCSE
1) Red Hat Certification.
2) Sair Linux and GNU Certification.
3) Linux Professional Institute Certification (LPIC).
4) Linux+.
5) Prometric.
6) VUE.
Icons on desktop
Explorer
1) Desktop File Manager.
2) Idesk.
Work with screensavers
Desktop properties
1) xset.
2) xlockmore.
3) xscreensaver.
4) kscreensaver.
Place for keeping "removed" files
Trash
1) Trash Can.
2) Libtrash.
Checking the hard disk
Scandisk
fsck -check or reiserfsck -check.
Not needed with journaled file systems (reiserfs, ext3, jfs, xfs).
Defragmentation
defrag
Not needed.
GUI of the system
Windows Explorer
Kde, Gnome, IceWM, Windowmaker, Blackbox, Fluxbox, ...
Windows XP GUI
Windows XP
XPde.
Multiple workspaces
-
Yes!!! .
Fast users / desktop switching
Windows XP feature for non- networked computers
1) Ctrl+Alt+F1, login as new user at command-line interface, start GUI by entering command startx - - :1. Switch between screens using Ctrl+Alt+F7 or F8 depending on user.
2) Command "gdmflexiserver -n".
3) Built-in in KDE 3.1.
Flavors of the system
9x, NT, XP
RedHat, Mandrake, Knoppix, Debian, SuSE, ALT, ASP, Gentoo, Slackware, Linux From Scratch, ...
Tactics
FUD (fear, uncertainty, doubt)
Open Source!
"First they ignore you, then they laugh at you, then they fight you, then you win".
Source code of the kernel freely available
No
Of course
Command line and scripting
1) command.com .
2) cmd.exe
3) Windows Scripting Host
4) 4DOS / 4NT
5) Minimalist GNU For Windows
6) Unix tools for Windows (AT&T)
7) KiXtart
8) ScriptLogic [Prop]
1) Bash.
2) Csh.
3) Zsh.
4) Ash.
5) Tcsh.
Free of charge operating system
Microsoft Windows. (Imagine yourself that in Russia there are 95% of users having a pirate copy of Windows .
Linux - the Free operating system!!
-
Nimda
Slapper.
-
Wincih, klez, etc
No analogs
Backdoors and hidden keys
Decide it yourself .
-
Easter eggs, undocumented possibilities
Logo with Windows developers, Doom in Excel 95, 3D-racing in Excel 2000, etc, etc...
-
The magazines
Windows Magazine
1) Linux Journal.
2) Linux Gazette.
3) Linux magazine.
4) Linux pratico (Italy).
5) Australian Linux.
-
Blue Screen Of Death (BSOD)
1) Kernel panic.
2) Screensaver "bsod" .
Whom it is necessary to curse for bugs and defects of the system
M$, Bill Gates personally
1) Developers of the distribution.
2) All the Linux people and Linus Torvalds personally .
3) Yourself and your own /dev/hands ).
-
M$.com
GNU.org, FSF.org
-
Windows.com
Linux.org
-
Bill Gates, "Road ahead"
Linus Torvalds, "Just for fun" .
-
Bill Gates, "Business @ the speed of thought"
Richard M. Stallman, "The right to read".
The book: "Free Software, Free Society: Selected Essays of Richard M. Stallman"
This page is licensed under the GNU FDL.
Credits:
Fiodor Sorex - The coordination and support of the project since Jan-2005, updating the table, html, coding, webmaster, design.
Valery V. Kachurov - The coordination and support of the project till Jul-2003, updating the table, html.
Nesov Artem - The idea of the table and the first version + some corrections and additions.
Timofey Korolev - Hosting.
Visitors of this page - A huge amount of letters with additions, corrections and just good wishes . Thanks to everyone who contributed to this project!!! (Full list with rating - under construction).
Fresh News in Russian
Articles in Russian
Mail (discussion) lists in Russian.
News letters about Linux in Russian
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3203 次
向 psac 送花的會員:
s8321414 (2008-02-06)
感謝您發表一篇好文章
舊 2006-07-07, 11:53 PM   #4 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

LINUX穿越FTP




1.1 什麼是FTP:文件傳輸協議原理
1.1.1 命令選擇
1.1.2 命令格式
1.2 wu-Ftpd的安裝
1.3 讓FTP服務器運轉起來
1.4 配置文件的設置
1.4.1 /etc/ftpaccess的設置
1.4.2 /etc/ftpusers和/etc/ftphosts的設置
1.4.3 /etc/ftpconversions設置
1.4.1 wu-ftp的相關程式
1.5 開設只能FTP的帳戶
1.6 設置虛擬FTP主機

什麼是FTP:文件傳輸協議原理
互連網文件傳輸協議(File Transfer Protocol ,FTP) 標準是在RFC959說明的。該協議定義了一個從遠端電腦系統和本機電腦系統之間傳輸文件的一個標準。一般來說,傳輸文件的用戶需要先經過認證以後才能登入網站,然後方能訪問在遠端服務器的文件。而大多數的FTP服務器往往提供一個GUEST的公共帳戶來允許沒有遠端服務器的用戶可以訪問該FTP服務器。

一個FTP會話通常包括五個軟件元素的交互。

用戶接頭 提供了一個用戶接頭並使用客戶端協議解釋器的服務
客戶 PI 客戶協議解釋器,其項遠端服務器協議機發送命令並且驅動客戶資料傳輸過程
服務器PI 服務器協議解釋器,響應客戶協議機發出的命令並驅動服務器端資料傳輸過程
客戶 DTP 客戶資料傳輸過程,其負責完成和服務器資料傳輸過程及客戶端本機文件系統的通信
服務DTP 服務器資料傳輸過程,其負責完成和客戶資料傳輸過程及服務器端文件系統的通信

在RFC 959中,一般使用用戶這個名詞來指代客戶。RFC 959定義了客戶PI和服務器PI交互的方式和規範。用戶接頭與PI和DTP交互的機理都並不是協議標準的一部分。PI和DTP往往通常是在同一個程式模塊中實現的。

在FTP會話中,一共會存在有兩個獨立的網路連接,一個是由兩端的PI使用的,另一個是由兩端的DTP使用的。PI之間的連接一般被稱作控制連接(control connection),DTP之間的連接被稱做資料連接(data connection)

使用TCP服務的控制和資料連接

通常情況下,FTO服務器監聽連接阜號21來等待控制連接建立請求。而資料連接連接阜號的選擇依賴於控制連接上命令。通常是客戶發送一個控制消息來指定客戶監聽並等待服務器端發送資料連接建立請求的連接阜號。

對資料傳輸和控制命令傳輸來使用不同的獨立連接有如下優點:兩個連接可以選擇不同的合適服務質量,如:對控制連接來說高需要更小的延遲時間,對資料連接來說需要更大的資料吞吐量;而且可以避免實現資料流中的命令的通明性及逃逸。

當傳輸建立時,總是由客戶端首先發起。然而客戶和服務器都可能是資料發送者。除了傳輸用戶請求下載文件,資料傳輸過程同樣在客戶端請求列服務器端目錄結構時建立。

1.1.1 命令選擇
當一個傳輸建立時,一般通常需要指定四個方面的內容:

文件類型
該內容指定如何將文件的資料匹配成適於傳輸的格式,一共有四種可能的選擇:

ASCII文件類型
在發送端,文件從本機文本文件格式轉換為 NVT ASCII格式,每行結束有一個CR/LF對來標識。 在接收端,再被轉換為本機的文本格式。

這說明了為什麼Unix主機之間傳輸文本文件為何傳輸的資料量要大於文件的實際大小。若傳輸一段端或傳輸兩端都不使用ASCII文本編碼,則是應該由資料傳輸過程來實現本機編碼和NVT ASCII 編碼之間的轉換。

EBCDIC文件類型
類似於ASCII,區別僅僅上使用EBCDIC字元編碼

圖像 (或二進制)文件類型
文件以本機傳輸內容傳輸,在遠端以同本機完全相同的內容存儲。

本機文件系統
用在字節大小不是8位的環境下。沒字節位數由發送者指定。

在實際應用中,只有ASCII和圖像格式使用的較多。

格式控制
該內容是和將文本文件最後傳送到印表設備相關的,其中有多種方式來實現將垂直格式訊息編碼到文件中,包括指示一個新頁開始的方式。有如下方式可供選擇:

無須印表格式控制,這是預設值
Telnet印表控制,在telnet協議中定義的控制字元包含在資料流中。.
Fortran印表控制,
該內容在實際中很少使用。

結構
文件可以擁有內部結構,在傳輸中該結構被保留。由資料傳輸過程來負責在傳輸中的結構及本機結構之間相互匹配,有三種可能性:

文件結構
這實際上意味著文件被看作沒有內部結構的連續的字節流。

記錄結構
文件是有一系列記錄組成的結構。這只適用於文本文件。

網頁面結構
也可以稱做塊結構。每一頁都伴隨一個頁號來傳輸,從而以順序的方式來完成傳輸。

網頁面結構很少在實際中遇到。記錄結構也不是很常見。對於文本文件使用ASCII文件類型可以獲得相同的效果。

傳輸模式
該內容可以取三個不同的值:

流模式
文件的以字節流的方式傳輸。

塊模式
文件以一個塊連接一個塊的方式傳輸,每個塊的開頭都有一個頭。

壓縮模式
一個簡單的運程長度壓縮編碼被應用,來壓縮連續的相同的字節。

實際中,一般只有流模式被使用。而壓縮一般通過使用各種其他的工具程式來獲得。

當一次傳輸被建立,客戶端一般指定一個或多個前面說明的內容。若服務器端不能支持某個選項,服務器將用一個錯誤訊息來響應客戶端,並不具有協商機制。

FTP提供了充足的命令來使用戶和遠端建立連接並訪問遠端文件系統。

1.1.2 命令格式
命令以NVT ASCII串的格式被傳輸。每個命令以三個或四個大寫的NVT ASCII字元開始,後面帶有選項參數和一個CR/LF對來標識命令結束

應答由三個NVT ASCII數位及一個選項消息組成。

一個長的應答也許會有多個消息組成,第一個消息的三個數位後帶有一個破折號,最後的消息不帶有破折號。中間的消息無須攜帶三個數位,但是如果帶了三個數位,則也需要破折號。

下面是所有的命令的列表。帶有星號的命令一般很少使用,所以往往在具體實現中不支持。

String Meaning
ABOR 放棄傳輸
*ACCT 某些系統將帳號和用戶與文件系統相關聯
*ALLO 為即將傳送的文件分配空間。後面攜帶的參數來確定字節數
*APPE 將文件附加到已經存在的文件後面
CDUP 在遠端系統上將當前目錄切換到上級父目錄
CWD 改變遠端系統的工作目錄
DELE 刪除遠端系統的文件
HELP 讀取服務器的幫助訊息,如:支持的命令的列表
LIST 在一個新增立的資料連接上發送當前工作目錄下的文件名列表
MKD 創建目錄
MODE 指定傳輸模式,可攜帶的參數是:S、B或 C.
NLST 在一個新增立的資料連接上發送一個當前目錄下的「完全」的目錄列表
NOOP 空操作,防止連接斷掉
PASS 提供一個用戶登入密碼,必須立即跟隨在USER命令後
*PASV 指定服務器資料傳輸過程監聽等待客戶端的資料連接連接建立請求
PORT 指定客戶端監聽等待服務器端建立的連接的連接阜號
PWD 顯示服務器端的當前工作目錄名
QUIT 退出登入並終止連接
*REIN 重新初始化,退出登入但是並不離線連接,後面必須隨後發出一個新的USER命令
*REST 從服務器的一個標識處重新開始傳輸
RETR 從遠端系統取回一個文件
RMD 刪除一個目錄
*RNFR 指定要被命名的文件的老的路徑名,隨後必須是一個RNTO命令
*RNTO 指定要被命名的文件的新的路徑名
*SITE 站點特有的服務器提供的服務
*SMNT 結構載入,提供一個文件系統結構的遠端系統路徑名
*STAT 狀態訊息
STOR 上載一個文件到服務器上,若文件已經存在則覆蓋
*STOU 上載一個文件到服務器上,不覆蓋已經存在的文件
STRU 指定文件結構,參數可以是F、R或P.
*SYST 報告遠端系統的操作系統類型
TYPE 指定文件類型,參數可以是A、E、I、L只有TYPE A和TYPE I常用

控制連接命令應答有如下形式:

Type Description
1yz 主動初步應答,在發送另一個命令以前等待另一個應答
2yz 主動最後應答,最後一個命令成功結束
3yz 主動中間應答,必須再發送一個命令
4yz 暫時被動應答,要求的動作當時不能完成,但可以重試
5yz 永久被動應答,要求的動作不能完成,不應該重試

"y"數位編碼進一步的訊息

Digit Meaning
0 語法錯誤
1 訊息
2 連接狀態
3 認證和記帳
4 保留
5 File s文件系統狀態

下面是一些典型的消息:

Number Meaning
125 資料連接打開,傳輸開始
200 命令OK
331 用戶名OK 需要輸入密碼
425 不能打開資料連接
452 錯誤寫文件
500 語法錯誤-不可識別的命

具體的詳細情況可以參見RFC

 

wu-Ftpd的官方權威站點地址是:http://www.wu-ftpd.org/。

 

1.2 wu-Ftpd的安裝
當前,Linux環境下有許多ftp服務器軟件可供選擇,但是目前最常見的仍然是wu-Ftpd服務器。這裡主要討論該軟件的安裝和配置。

一般來說,在安裝了linux時,預設都會自動安裝wu-ftpd服務器,但是有時候為了某種需要也需要自己親自重新安裝該服務器軟件。安裝wu-Ftpd有兩方式,一種是安裝rpm形式的發佈包;一種是自己動手去編譯產生Ftp服務器。


rpm包可以在http://rpmfind.net/linux/RPM/WByName...mp目錄下:

#cd /tmp
#rpm -ivh wu-ftpd-1.6.0-9.i386.rpm

壓縮的源代碼可以在ftp://ftp.wu-ftpd.org/pub/wu-ftpd/...裝wu-ftpd。

1、解開源代碼

1) 將壓縮的源代碼拷貝到/usr/src下

#cp wu-ftpd.1.6.0.tar.gz /usr/src

2) 對壓縮文檔進行解壓縮:

#tar xvfz wu-ftpd.1.6.0.tar.gz
#cd wu-ftpd-1.6.0

2、敲入命令 "./build xxx" ,可以在這裡指定一個C語言編譯器:"./build CC=yyy xxx" yyy 指用來替代 "cc" 的其他的編譯器。對於linux環境下的gcc編譯器,命令應該為:"./build CC=gcc xxx"

#build CC=gcc lnx


xxx可以取下面的值:
gen : 通用make(當移植到心得系統時需要拷貝它)
aix : IBM AIX
aux : AU/X
bdi : BSD/OS
bsd : BSD
dec : DEC Unix 3.X
du4 : DEC Unix 4.X or later
dyn : Dynix
fbs : FreeBSD 1.0 or later
hiu : Hitachi Unix
hpx : HP-UX
lnx : Linux (tested on 1.0.30)
nbs : NetBSD 1.X
nx2 : NeXTstep 1.x
nx3 : NeXTstep 3.x
osf : OSF/1
osx : Mac OS X
ptx : ???
sco : SCO Unix 3.2v4.2/SCO OpenServer 5
sgi : SGI Irix 4.0.5a
sny : Sony NewsOS
sol : SunOS 5.x / Solaris 1.x
s41 : SunOS 4.1.x
ult : Ultrix 4.x
uxw : UnixWare 1.1 or later
clean : Clean up object files and such to reduce disk space after building.
install: Install ftpd


Copying Makefiles.

Linking src/config.h

Making support library.
gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c strcasestr.c
gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c authuser.c
gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c snprintf.c
rm -f libsupport.a
ar cq libsupport.a strcasestr.o authuser.o snprintf.o
ranlib libsupport.a
: : :
: : :
: : :

編譯成功以後將產生如下幾個可執行文件:

ftpd FTP服務器程式
ftpshut 用於關閉FTP守護工作行程的程式
ftpcount 記數程式,顯示目前ftp登入的人數
ftpwho 檢視當前FTP服務器的連線情況,類似與系統的who命令,只不過是檢視ftp登入的用戶
ckconfig 檢查FTP的設置是否正確
ftprestart 重新啟動ftp服務器
privatepw 改變wu_ftpd組訪問文件訊息


3、若只是升級到一個新的版本,應該首先備份系統所有的舊的配置文件。否則這些配置文件將被覆蓋。為了適應自己的需求,應當編輯樣本配置文件來滿足自己的要求,具體配置文件的需求參見後面的內容。


4、以超級用戶身份敲入命令"./build install"

#build install

installing binaries.
install -c -o bin -g bin -m 110 bin/ftpd /usr/sbin/in.ftpd
install -c -o bin -g bin -m 111 bin/ftpshut /usr/bin/ftpshut
install -c -o bin -g bin -m 111 bin/ftprestart /usr/bin/ftprestart
install -c -o bin -g bin -m 111 bin/ftpcount /usr/bin/ftpcount
install -c -o bin -g bin -m 111 bin/ftpwho /usr/bin/ftpwho
install -c -o bin -g bin -m 111 bin/privatepw /usr/bin/privatepw
installing manpages.
install -c -o bin -g bin -m 444 doc/ftpcount.1 /usr/man/man1/ftpcount.1
install -c -o bin -g bin -m 444 doc/ftpwho.1 /usr/man/man1/ftpwho.1
install -c -o bin -g bin -m 444 doc/ftpaccess.5 /usr/man/man5/ftpaccess.5
install -c -o bin -g bin -m 444 doc/ftpconversions.5 /usr/man/man5/ftpconversio5
install -c -o bin -g bin -m 444 doc/ftphosts.5 /usr/man/man5/ftphosts.5
install -c -o bin -g bin -m 444 doc/xferlog.5 /usr/man/man5/xferlog.5
install -c -o bin -g bin -m 444 doc/ftpd.8 /usr/man/man8/ftpd.8


5、編輯 "/etc/inetd.conf" 文件,指向新的ftpd守護工作行程,大多數情況下,這一步是不必的,因為在build install時,會將新的守護工作行程拷貝覆蓋老的守護工作行程。若希望使用ftpd的增強的擴展功能,應該在這行最後加上"-a"選項。

ftpd守護工作行程一般可以攜帶如下參數,也可以不帶任何參數:

-d debug參數,當ftpd守護工作行程出現錯誤時,會將錯誤訊息寫入到系統記錄文件/usr/adm/syslog中
-l 記錄每次ftp會話訊息到/usr/adm/messages中
-t 設置當FTP客戶端多久無操作就自動斷線,這個參數後面指定等待的時間,如 -t 600 表示若客戶
端若連續10分鐘沒有動作就自動斷線,預設值是15分鐘
-a 使用ftpaccess配置文件內容對ftpd進行更詳細複雜的設置
-A 不使用ftpaccess配置文件的設置,預設值是-A
-i 當客戶端有上載文件的動作時,就記錄在文件xferlog中
-L 使用戶連接ftp服務器期間使用的所有命令都被記錄到/usr/adm/messages中

6、拷貝tar、gzip、gunzip、compress、uncompress等文件到 "~ftp/bin"中,拷貝"ls"為"~ftp/bin/ls"。

7、若是第一次安裝,使用"ckconfig"程式查找ftpd的各種配置文件存放目錄:ftpconversions、ftpusers、和ftpgroups。在"doc/examples"目錄下有樣本文件。"ckconfig"是一個可執行程式,確保修復該程式檢測到的任何問題。

1.3 讓FTP服務器運轉起來
一般來說,只要正確地編譯安裝了wu-ftpd,該服務器就可以正常執行。用戶可以通過FTP命令從各種系統上連接該服務器。

1.4 配置文件的設置

1.4.1 /etc/ftpaccess的設置
這個配置文件是FTP服務器最重要的配置文件,這個文件的設置決定了FTP是否可以正常工作及許多訪問權限的設置。如下面的例子所示:
class all real,guest,anonymous *

limit all 10 Any /etc/msgs/msg.dead

readme README* login
readme README* cwd=*

message /welcome.msg login
message .message cwd=*

compress yes all
tar yes all

log commands real
log transfers anonymous,real inbound,outbound

shutdown /etc/shutmsg

email user@hostname


下面是設置文件各個指示(directive)的詳細說明:

指示: loginfails n
密碼輸入n次就自動離線連接

指示:autogroup 組名 類別 [ ...]
若一個匿名用戶屬於任何一個參數類別的類,則FTP服務器將實施setegid()呼叫使其屬於這個組名定義的組,這樣做是為了實現某些特定類別的匿名用戶可以訪問一些只允許本組及擁有者可以訪問的文件。組名必須是/etc/group內定義的有效組。

指示: class 類名 類別(real、guest、anonumous) IP地址
這個指示是設定FTP服務器用戶的類別。
FTP服務器的用戶可以分為以下三種類別:
real 在該FTP服務器上擁有合法帳戶的用戶;
guest 另外定義某些特定組的用戶;
anonymous 匿名用戶;

舉例說明:
class outworld real,guest,anonymous *
定義一個名為outworld的類,該類包含三種類型的用戶:real,guest,anonymous。該類在後面的指示中使用。其中"*"是類定義中的IP地址部分,表示網路上的所用主機。也就是說明允許任何主機連接FTP服務器。若希望對訪問FTP的主機進行一定的權限設置,可以這樣做:
class friend real,guest,anonymous *.linuxaid.com.cn 201.101.13.*
指定義一個friend類,該類從*.linuxaid.com.cn 及201.101.13.*訪問FTP服務器時有特定的權限設定。

指示: limit 類別 人數 時間 文件名
該指示設定在某個類在某個時間內允許連接FTP服務器的人數的限制,並指定當連接人數超過限制,後面的用戶連接時顯示給用戶的消息訊息。

舉例說明:
limit local 20 Any /tmp/message/msg.toomany
上面的例子限定local這個類中的擁護同一時間只能有20人同時上網連接這台FTP服務器,若超過20人則顯示/tmp/message/msg.toomany的文件的內容
limit outworld 100 MoTu|Any 2200-0800 /tmp/message/msg.limit
這個例子限制outworld這個類的用戶只能在週一週二或每天的晚上10點到第二天早上的8點之間訪問該FTP服務器,而且同時連線的人數不可以超過100人,若超過100人,則顯示/tmp/message/msg.limit的文件的內容

/tmp/message/msg.limit的內容為:
對不起!本服務器只允許匿名用戶在週一週二全天及其他每天晚上10點到第二天早上的8點之間訪問,當前時間為%T;而且只允許同時有%M個匿名用戶訪問,當前有%N個用戶在訪問該服務器。請在合適的時間訪問本FTP服務器,謝謝!
這裡的%M是一個變數,代表同時允許連接的人數的上限,FTP服務器可以用前面設置的值自動替代該變數,其他允許的變數包括:
%T 本機當前時間;
%F CWD所在分區剩餘空間,以KB為單位。但該變數不是所有系統都支持。
%C 當前工作目錄;
%E 定義在/etc/ftpaccess文件中的系統管理員的E-mail地址;
%R 遠端主機名;
%L 本機主機名;
%U 登入時所給的用戶名;
%N 這個類別當前連接的用戶數目;
利用這些參數,可以編輯一個詳細的說明文件,這樣可以讓用戶清楚當前服務器資源使用情況。

指示: readme 說明文件 指令
當用戶執行指定的"指令"時,系統就會自動顯示所設置的說明文件;
舉例說明:
readme README* login
當用戶執行登入動作時,只要以README開頭的文件內容就會顯示給用戶。
readme README* cwd=*
表示用戶切換目錄時(cwd),只要以README開頭的文件內容就會顯示給用戶。
通常README*應該是該目錄下文件的說明,讓登入的用戶可以清楚地知道目錄中存放了那些文件;

指示: message 文件名 指令
使當用戶執行特定的"指令"時,系統就將指定的文件內容顯示給用戶;
舉例說明:
message /msg.welcome login
指定當用戶登入時,將自動顯示/tmp/message/msg.welcome的內容給用戶,注意這裡的/msg.welcome指ftp根目錄下的msg.welcome文件,即/home/ftp/msg.welcome。
message /welcome cwd=*
指定當用戶切換另一個目錄時,只要目錄中有msg.welcome文件,就顯示給用戶

指示: compress (yes/no) 類別
設置哪個類別的用戶可以使用壓縮功能;
舉例: compress yes local outworld
允許local 和outworld兩個類別的 用戶使用壓縮功能

指示: tar (yes/no) 類別
指定哪個類別的用戶可以使用tar功能;


指示: passwd-check (none/trivial/rfc822) (enforce/warn)
設定當用戶以匿名方式登入服務器時密碼的方式:
none 表示不對密碼進行驗證,任何密碼都可以登入;
trival 表示只要密碼中包含@就可以登入;
rfc822 表示密碼一定要符合rfc822中規定的E-mail格式才能登入。如:webmaster@linuxaid.com.cn
enforce 表示輸入的密碼不符合指定格式就不允許登入;
warn 表示輸入的密碼不符合指定格式顯示警告訊息,但仍然允許登入;

指示: log commands 類別(read/guest/anonumous)
設定那些用戶登入時,所使用的操作會被記錄在文件/usr/adm/xferlog中。

指示: log transfer 類別(read/guest/anonumous) (inbound/outbound)
設定指定的用戶類別在上載還是下載時的相關訊息被記錄到/usr/adm/xferlog中。
舉例說明:
log transfer anonymous,real inbound,outbound
當anonymous或real用戶登入後,上載和下載的操作會被記錄在文件/usr/adm/xferlog中。

指示: shutdown 文件名
FTP服務器關閉的時間可以後面的文件名中指定的文件中指定,設定的時間一到,便無法登入FTP服務器了,只有將這個文件刪除才能恢復FTP服務器。文件的格式可以由命令ftpshut來建立。

指示: delete (yes/no) 類別(real/anonymous/guest)
設定是否允許指定用戶使用delete命令。
舉例說明:
delete no guest,anonymous
設定大概內登入的用戶為guest或anonymous上不允許執行delete命令。

指示: overwrite (yes/no) 類別(real/anonymous/guest)
設定是否允許指定用戶使用overwrite指令。

指示: reame (yes/no) 類別(real/anonymous/guest)
設定是否允許指定用戶使用readme指令。

指示: chmod (yes/no) 類別(real/anonymous/guest)
設定是否允許指定用戶使用chmod指令。

指示: umask (yes/no) 類別(real/anonymous/guest)
設定是否允許指定用戶使用umask指令。


指示: upload [absolute|relative] [class=]... [-]

["dirs"|"nodirs"] []

定義允許用來上載的目錄。若允許上載,所有新上載的文件的所有者及組由和定義 ,訪問權限將為。對於覆蓋老文件的上載文件將保持原來的所有者及訪問權限訊息。文件上載的權限訊息由最大匹配目錄項定義,如:
upload /var/ftp * no
upload /var/ftp /incoming yes ftp daemon 0666
upload /var/ftp /incoming/gifs yes jlc guest 0600 nodirs
would only allow uploads into /incoming and /incom-
:
將只允許/incoming和/incom-ing/gifs目錄上載。上載到/incoming目錄下的文件將屬於ftp/daemon,訪問權限為0666;而上載到/incoming/gifs下的文件將屬於jlc/guest,訪問權限為0600。應該注意的是必須匹配"ftp"用戶的passwd文件中的主目錄。
"dirs"和"nodirs"選項用來設定是否允許在該目錄下創建新的子目錄。但是預設是允許創建子目錄的。
設定新創建的目錄的訪問權限,預設為0777。
上載指示只能施用於用戶主目錄(chroot()的參數)等同於的用戶,可以為*來表示匹配任何主目錄。
和也可能指定為*,在這種情況下,任何上載的文件或創建的目錄的所有者都等於起父目錄的所有者。
選項[absolute|relative]指定是是絕對路徑還是相對於chroot()參數指定的目錄的相對路徑。預設是絕對路徑。也可以指定任意多個class='來進行進一步限定。若指定了任何目錄,則該上載指示只影響這些組的用戶。


指示: alias 目錄別名 目錄路徑
給指定目錄設置一個別名,當切換目錄時可以使用別名。
舉例說明:
alias xwin /pub/linux/xwindows
為/pub/linux/xwindows設置別名xwin,登入以後只要輸入命令cd xwin就可以進入該目錄。

指示: cdpath 目錄
該功能和系統的PATH環境變數設置類似,當cd /etc時,FTP首先檢視當前目錄下是否有etc子目錄,無則看是否有別名,若沒有則根據該指示設定的路徑查詢。

舉例說明:
cdpath /pub/linux
cdpath /pub
cdpath /
搜索順序為:/pub/linux /pub /

指示: path-filter 類別(real/anonymous/guest) 目錄
設定上載文件名限制。
舉例說明:
path-filter anonymous /etc/pathmsg^[-A-Za-z0-9_.]*$^.^-
path-filter guest /etc/pathmsg^[-A-Za-z0-9_.]*$^.^-
設置限制anonymous和guest用戶上載的文件名只能包含A-Z、a-z、0-9和._-,名字以"."和"-"開頭的文件不能上載到服務器上。

指示: guestgroup [ ...]
guestuser [ ...]
realgroup [ ...]
realuser [ ...]
對於guestgroup指示,若一個真實(real)用戶屬於任何一個所指定的組,則其FTP會話都被FTP服務器以匿名的方式進行處理。也就是說,chroot()被呼叫,用戶不再允許發出USER和 PASS 命令。必須是有效的組。
這裡用戶的home目錄必須被爭取的設置,要確實和匿名用戶一致,/etc/passwd中的相關項的home目錄被分割為兩個部分,第一部分是chroot()呼叫的根目錄參數,第二個是用戶相對於根目錄的主目錄,兩部分之間以"/./分隔",如:
guest1::100:92:Guest Account:/ftp/./incoming:/etc/ftponly
當guest1成功登入進入,FTP服務器將呼叫chroot("/ftp")然後呼叫chdir("/incoming")。則guest1就如同匿名用戶一樣只能訪問/ftp下面的容(對於guest1來說,它就是"/")。
可以是組名或數位ID。若使用數位ID,需要在數位前面加上一個"%"。使用*表示所有組。
guestuser和guestgroup指示類似,只不過是限定一個單一用戶罷了。
realuser和realgroup有同樣的語法,但是和guestuser及guestgroup起相反的作用,其是允許某個組的用戶或某個用戶以真實身份訪問FTP服務器。如:
guestuser *
realgroup admin
指定所有的非匿名用戶登入進入服務器以後,都被做為匿名用戶處理,但是admin組的用戶是例外,登入以後以真實身份存在。

指示: guestgroup 功能
設定guest組的功能。
舉例說明:
guestgroup ftponly


指示: nice []
設定FTP服務器守護工作行程的調度優先級。

指示: defumask []
若遠端用戶屬於class,則守護工作行程創建的文件的umask為umask。若沒有指定class則將umask作為預設的umask.

指示: tcpwindow []
設置資料連接的TCP視窗大小,若不明白含義,一般不要去設置它。

指示:keepalive
設置TCP socket的SO_KEEPALIVE參數選項。

指示:timeout accept
timeout connect
timeout data
timeout idle
timeout maxidle
timeout RFC931
設置各種超時時鐘,這些參數必須在對TCP協議非常熟悉的情況下才應該去設定,一般不要改動這些值,具體含義參見man ftpaccess。

指示: file-limit [] []
限制某個組的任何一個用戶允許上載的文件的數量,若沒有指定class,則該限制施用於所有沒有限定的組。raw指示這個限制包括所有的傳輸,而不僅僅是資料文件。

指示:byte-limit [] []

限制某個類的任何一個用戶允許傳輸的資料總量。

指示: limit-time {*|anonymous|guest}
限定一個對話允許的持續時間,預設無限制。真實用戶沒有該限制。

指示:guestserver []
控制哪個站點允許進行匿名連接,若沒有指定hostname,則拒絕所有匿名連接。

指示: noretrieve [absolute|relative] [class=] ... [-] ...
設定拒絕那些類訪問哪些特定文件。例如:
noretrieve /etc/passwd core
指定任何訪問者都不可以訪問文件/etc目錄下的passwd文件和所有的名為"core"的文件。

指示:allow-retrieve [absolute|relative] [class=]... [-] ...
允許訪問這些文件。


指示:private
當一個用戶登入進入,,指示SITE GROUP和 and SITE GPASS用來指定一個增強的訪問組和相應的密碼。若輸入的組名和密碼有效的話,該用戶將變為該組的成員,具有該組的訪問權限。

指示:greeting full|brief|terse
greeting text
允許控制在遠端用戶登入進來以後,給用戶多少greet訊息及訊息內容。

指示:banner
和message類似,不過banner消息是在用戶輸入用戶名和密碼以前顯示給用戶的。


指示: hostname
定義FTP服務器預設的主機名。


指示: email
定義FTP維護者的emai地址。

指示: log security (anonymous|guest|real)
使記錄違背安全規則如:(noretrieve, .notar, ...)的命令。

指示:log syslog
log syslog+xferlog
重定向記錄消息到系統記錄文件syslog,預設只記錄到xferlog。

指示:daemonaddress
若該值沒有被設置,則服務器則監聽所有的接入請求,否則,服務器只接受來自定義的連接請求。這個設置一般不要設置,設置以後會阻止使用虛擬主機或其他一些以後擴展的功能。

指示: virtual
打開虛擬FTP服務器的支持。是虛擬服務器的IP地址。第二個參數指定如root目錄,bannner文件,log文件等的路徑。


指示:virtual
設置在greeting消息中顯示的主機名字或電子郵件。


指示:virtual allow [ ...]
virtual deny [ ...]
一般真實和guest用戶不允許登入進入虛擬主機,該兩個指示用來重新對允許和拒絕訪問的虛擬主機的用戶進行細化定義。

指示:virtual private
通常,拒絕匿名用戶登入進入虛擬主機。


指示: defaultserver deny [ ...]
defaultserver allow [ ...]
對允許訪問預設(非虛擬)FTP服務器的用戶進行定義。

指示:defaultserver private
拒絕匿名用戶訪問預設FTP服務器。


指示: deny ip地址/域名 說明文件
設定限制哪個IP地址或域名的用戶不允許登入到服務器。
舉例說明:
deny 201.101.15* *.hacker,com /tmp/message/deny.msg
限制IP地址為201.101.15*及域名為*.hacker,com的機器不允許登入服務器

 

1.4.2 /etc/ftpusers和/etc/ftphosts的設置
/etc/ftpusers是用來設定系統上的某些用戶不允許使用FTP傳送文件,/etc/ftphosts是用來設定某些主機不允許連接本FTP服務器的。這樣做的目的都是為了安全考慮。

/etc/ftpusers使用的範例如下:

root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
限制某些用戶登入FTP服務器是出於系統安全的原因,例如要避免超級用戶登入系統。並且禁止某些和一些命令名相同的用戶進入FTP服務器。

/etc/ftphosts的示例如下:

# Example host access file
#
# Everything after a '#' is treated as comment,
# empty lines are ignored
#allow [ ...]
# Only allow host(s) matching to log in as .
#deny [ ...]
# Always deny host(s) matching to log in as .

allow ideal *.linuxaid.com.cn 10.0.0.0/8
deny fred *.hacker.com 131.211.31.0/24

這裡只允許ideal從域名以linuxaid.com.cn為後綴的主機及10.0.0.0/255.0.0.0的主機登入進入FTP服務器;禁止fred從*.hacker.com和131.211.31.0/24登入進入FTP服務器。這裡的username若為anonymous或ftp 都指匿名用戶。

1.4.3 /etc/ftpconversions設置
該文件用來設定當用戶下載文件時應該做那些操作,例如壓縮、解壓縮等。文件內容如下所示:

:.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS
: : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS
:.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP
: : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP
: : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR
: : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS
: : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP
: : :.crc:/bin/cksum %s:T_REG::CKSUM
: : :.md5:/bin/md5sum %s:T_REG::MD5SUM


文件設置說明:

:.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS
表示對所有以".Z"結尾的文件使用/bin/compress -d -c"的方式解壓縮。

: : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS
表示將傳送的文件壓縮為".Z"格式。

:.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP
表示將所有以".gz"的文件用"/bin/gzip -cd"解壓縮。

: : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP
表示將傳送的文件壓縮為".gz"格式。

: : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR
表示將要傳送的文件用"tar"壓縮打包。

: : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS
表示將要傳送的文件壓縮成"tar.Z"的格式

: : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP
表示將要傳送的文件壓縮成"tar.gz"的格式

: : :.crc:/bin/cksum %s:T_REG::CKSUM
表示將要傳送的文件進行CRC校驗處理。

: : :.md5:/bin/md5sum %s:T_REG::MD5SUM
表示將要傳送的文件進行md5校驗。

其實安裝FTP以後預設的配置文件已經將常用的壓縮也解壓縮的程式定義進去了,所以一般不需要修改這個文件的內容,但可以根據實際需要修改內容的順序。例如,用戶要下載一個"file.tar.gz"的文件,但此FTP上沒有這個文件,但是有文件file,那麼FTP服務器會將file壓縮打包壓縮為 file.tar.gz在傳遞給用戶。若服務器上沒有file這個文件,服務器會按照/etc/ftpconversions文件中指定的順序去搜索,,以這個例子而言,會依次搜索file.Z、file.gz、file.tar、file.tar.Z、file.tar.gz、file.crc、 file.md5文件,將先找到的傳送給用戶。所以文件/etc/ftpconversions的內容可以按照需要而改變順序。

到現在為止,已經安裝配置成功了一個提供匿名訪問的FTP服務器,可以連接上去測試功能是否符合需要。

1.4.1 wu-ftp的相關程式
ftpcount這個程式可以統計當前連接的用戶數目,並給出上限,如:

[root@linux doc]# ftpcount
Service class friend - 0 users (no maximum)
Service class local - 0 users (no maximum)
Service class outworld - 0 users (no maximum)
這裡正在連接的屬於local的有0個人,沒有上限。其他幾個類別含義一樣。

[root@linux doc]# ftpwho
Service class friend:
- 0 users (no maximum)
Service class local:
- 0 users (no maximum)
Service class local:
- 0 users (no maximum)
當前三個類別都沒有用戶連接。

ftpshut

該程式主要用來產生/etc/shutmsg,也就是前面/etc/ftpaccess中設定的shutdown命令,ftpshut的使用格式如下:

ftpshut [ -V ] [ -l min] [ -d min] time [ warning-message ... ]
-l 該選項設置在關閉FTP服務器以前多少分鐘停止用戶的連接請求
-d 該選項設置在關閉FTP服務器以前多少分鐘將已經連接的用戶斷線
time 設置關閉FTP服務器的時間,例如希望在晚上10點關閉FTP服務器,則為2200
warning-message 斷線以前顯示給用戶的告警訊息
例如:

[root@linux /etc]# ftpshut -l15 -d5 1800 "ftp server will shutdown"
[root@lix /etc]# less shutmsg
2000 04 07 18 00 0015 0005
ftp server will shutdown


1.5 開設只能FTP的帳戶
很多時候需要開設一些只允許ftp到服務器的用戶,實現方法如下:

1、按照通常的方式為這些用戶在系統上開設帳戶。

[root@ns /etc]#useradd ftp_user1
[root@ns /etc]#chmod 700 /etc/shadows
[root@ns /etc]#vi /etc/shadows

刪除項:
ftp_user1:!!:11113:0:99999:7:-1:-1:134537372
中第二個字段的"!!",然後再以ftp_usre1用戶登入,就不會詢問口令,然後使用passwd為該用戶設定口令

2、使用vi修改/etc/shells文件,新增/dev/null項或/bin/passwd,如下所示:

[root@ns /etc]# cat shells
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh

修改為:

[root@ns /etc]# cat shells
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
/dev/null
/bin/passwd


2、使用vi打開文件/etc/passwd
3、將那些只允許FTP的系統的用戶的登入shell改為/dev/null(若不允許用戶修改其口令)或/bin/passwd(若允許用戶修改其口令字),如下所示:

ftp_user1:x:503:504::/home/ftp_user1:/bin/bash
改為:
ftp_user1:x:503:504::/home/ftp_user1:/dev/null

ftp_user1:x:503:504::/home/ftp_user1:/bin/passwd

這樣,則該用戶只能使用如pop3、FTP等服務,而不能通過telnet登入到系統中。

1.6 設置虛擬FTP主機
所謂虛擬匿名主機,指一台機器上有多個IP地址,並且可以向外提供過個匿名的FTP服務器,這些服務器在邏輯上是獨立的,有不同的訪問控制表,不同的下載內容。下面是設置一台虛擬FTP服務器的步驟:

1. 首先對本機某個網卡設置別名IP地址,即在一塊網卡上綁定多個IP地址:如你的內部FTP主機為191.168.0.4

你可再綁定一個IP地址如下:
/sbin/ifconfig eth0:0 191.168.0.5 up //向接頭新增一個新的IP
/sbin/route add -host 191.168.11.7 eth0:0 //增添路由訊息

1. 先創建目錄/home/virtualftp和/var/log/virtualftp。產生banner文件 /home/virtualftp/banner_message修改FTP服務器的主配置文件/etc/ftpaccess,增加對虛擬FTP的支持訊息,加下面的行到該文件中:

virtual 191.168.0.5 root /home/virtualftp
virtual 191.168.0.5 banner /home/virtualftp/banner_message
virtual 191.168.0.5 logfile /var/log/virtualftp/xferlog

上面三條指示分別設置虛擬主機的根目錄,虛擬主機的記錄文件,虛擬主機的登入顯示訊息。上面路徑和文件名可隨便定義。


3. 拷貝所需要的匿名FTP文件,主要是/lib,/etc,/bin目錄
# cp /home/ftp/* /home/virtualftp -a

4.在DNS中定義191.168.0.5,設置成虛擬FTP的域名映射
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3203 次
向 psac 送花的會員:
s8321414 (2008-02-06)
感謝您發表一篇好文章
舊 2006-07-08, 12:07 AM   #5 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

Linux操作系統十大高階安全管理技巧

Linux操作系統十大高階安全管理技巧

由於Linux操作系統是一個開放源代碼的免費操作系統,因此受到越來越多用戶的歡迎。隨著Linux操作系統在我國的不斷普及,有關的****部門更是將基於Linux開發具有自主版權的操作系統提高到保衛國家訊息安全的高度來看待,因此我們不難預測今後Linux操作系統在我國將得到更快更大的發展。雖然Linux與UNIX很類似,但它們之間也有一些重要的差別。對於眾多的習慣了UNIX和WindowsNT的系統管理員來講,如何保證Linux操作系統的安全將面臨許多新的挑戰。本文介紹了一系列實用的Linux安全管理經驗。

  一、文件系統

  在Linux系統中,分別為不同的應用安裝單獨的主分區將關鍵的分區設置為只讀將大大提高文件系統的安全。這主要涉及到Linux自身的ext2文件系統的只新增(只新增)和不可變這兩大內容。

  ● 文件分區Linux的文件系統可以分成幾個主要的分區,每個分區分別進行不同的配置和安裝,一般情況下至少要建立/、/usr/local、/var和/home等分區。/usr可以安裝成只讀並且可以被認為是不可修改的。如果/usr中有任何文件發生了改變,那麼系統將立即發出安全報警。當然這不包括用戶自己改變/usr中的內容。/lib、/boot和/sbin的安裝和設置也一樣。在安裝時應該盡量將它們設置為只讀,並且對它們的文件、目錄和內容進行的任何修改都會導致系統報警。
當然將所有主要的分區都設置為只讀是不可能的,有的分區如/var等,其自身的性質就決定了不能將它們設置為只讀,但應該不允許它具有執行權限。

  ● 擴展ext2使用ext2文件系統上的只新增和不可變這兩種文件內容可以進一步提高安全級別。不可變和只新增內容只是兩種擴展ext2文件系統的內容標誌的方法。一個標記為不可變的文件不能被修改,甚至不能被根用戶修改。一個標記為只新增的文件可以被修改,但只能在它的後面新增內容,即使根用戶也只能如此。

  可以通過chattr命令來修改文件的這些內容,如果要檢視其屬性值的話可以使用lsattr命令。要想瞭解更多的關於ext2文件內容的訊息,可使用命令manchattr來尋求幫助。這兩上文件內容在檢測黑客企圖在現有的文件中安裝入侵後門時是很有用的。為了安全起見,一旦檢測到這樣的活動就應該立即將其阻止並發出報警訊息。

  如果你的關鍵的文件系統安裝成只讀的並且文件被標記為不可變的,入侵者必須重新安裝系統才能刪除這些不可變的文件但這會立刻產生報警,這樣就大大減少了被非法入侵的機會。

  ● 保護log文件當與log文件和log備份一起使用時不可變和只新增這兩種文件內容特別有用。系統管理員應該將活動的log文件內容設置為只新增。當log被更新時,新產生的log備份文件內容應該設置成不可變的,而新的活動的log文件內容又變成了只新增。這通常需要在log更新腳本中新增一些控制命令。

  二、備份

  在完成Linux系統的安裝以後應該對整個系統進行備份,以後可以根據這個備份來驗證系統的完整性,這樣就可以發現系統文件是否被非法竄改過。如果發生系統文件已經被破壞的情況,也可以使用系統備份來恢復到正常的狀態。

● CD-ROM備份當前最好的系統備份介質就是CD-ROM光碟,以後可以定期將系統與光碟內容進行比較以驗證系統的完整性是否遭到破壞。如果對安全級別的要求特別高,那麼可以將光碟設置為可啟動的並且將驗證工作作為系統啟動過程的一部分。這樣只要可以通過光碟啟動,就說明系統尚未被破壞過。

  如果你創建了一個只讀的分區,那麼可以定期從光碟映像重新裝載它們。即使象/boot、/lib和/sbin這樣不能被安裝成只讀的分區,你仍然可以根據光碟映像來檢查它們,甚至可以在啟動時從另一個安全的映像重新下載它們。

  ● 其它方式的備份雖然/etc中的許多文件經常會變化,但/etc中的許多內容仍然可以放到光碟上用於系統完整性驗證。其它不經常進行修改的文件,可以備份到另一個系統(如磁帶)或壓縮到一個只讀的目錄中。這種辦法可以在使用光碟映像進行驗證的基礎上再進行額外的系統完整性檢查。

  既然現在絕大多數操作系統現在都在隨光碟一起提供的,製作一個CD-ROM緊急啟動碟或驗證盤操作起來是十分方便的,它是一種十分有效而又可行的驗證方法。

三、改進系統內部安全機制

  可以通過改進Linux操作系統的內部功能來防止緩衝區溢出攻擊這種破壞力極強卻又最難預防的攻擊方式,雖然這樣的改進需要系統管理員具有相當豐富的經驗和技巧,但對於許多對安全級別要求高的Linux系統來講還是很有必要的。

  ● SolarisDesigner的安全Linux修正檔SolarisDesigner用於2.0版內核的安全Linux修正檔提供了一個不可執行的棧來減少緩衝區溢出的威脅,從而大大提高了整個系統的安全性。


  緩衝區溢出實施起來是相當困難的,因為入侵者必須能夠判斷潛在的緩衝區溢出何時會出現以及它在記憶體中的什麼位置出現。緩衝區溢出預防起來也十分困難,系統管理員必須完全去掉緩衝區溢出存在的條件才能防止這種方式的攻擊。正因為如此,許多人甚至包括LinuxTorvalds本人也認為這個安全Linux修正檔十分重要,因為它防止了所有使用緩衝區溢出的攻擊。但是需要引起注意的是,這些修正檔也會導致對執行棧的某些程式和庫的依賴問題,這些問題也給系統管理員帶來的新的挑戰。

  不可執行的棧修正檔已經在許多安全郵件列表(如securedistros@nl.linux.org)中進行分發,用戶很容易下載到它們等。

  ● StackGuardStackGuard是一個十分強大的安全修正檔工具。你可以使用經StackGuard修補過的gcc版本來重新編譯和鏈接關鍵的應用。

  StackGuard進行編譯時增加了棧檢查以防止發生棧攻擊緩衝區溢出,雖然這會導致系統的性能略有下降,但對於安全級別要求高的特定應用來講StackGuard仍然是一個十分管用的工具。

  現在已經有了一個使用了SafeGuard的Linux版本,用戶使用StackGuard將會更加容易。雖然使用StackGuard會導致系統性能下降約10~20%,但它能夠防止整個緩衝區溢出這一類攻擊。

● 增加新的訪問控制功能Linux的2.3版內核正試圖在文件系統中實現一個訪問控制列表,這要可以在原來的三類(owner、group和other)訪問控制機制的基礎上再增加更詳細的訪問控制。

  在2.2和2.3版的Linux內核中還將開發新的訪問控制功能,它最終將會影響當前有關ext2文件內容的一些問題。與傳統的具有ext2文件系統相比它提供了一個更加精確的安全控制功能。有了這個新的特性,應用程式將能夠在不具有超級用戶權限的情況下訪問某些系統資源,如初始套接等。

  ● 基於規則集的訪問控制現在有關的Linux團體正在開發一個基於規則的訪問控制(RSBAC)專案,該專案聲稱能夠使Linux操作系統實現B1級的安全。RSBAC是基於訪問控制的擴展框架並且擴展了許多系統呼叫方法,它支持多種不同的訪問和認證方法。這對於擴展和加強Linux系統的內部和本機安全是一個很有用的。

  四、設置陷阱和蜜罐

  所謂陷阱就是啟動時能夠觸發報警事件的軟件,而蜜罐(honeypot)程式是指設計來引誘有入侵企圖者觸發專門的報警的陷阱程式。通過設置陷阱和蜜罐程式,一旦出現入侵事件系統可以很快發出報警。在許多大的網路中,一般都設計有專門的陷阱程式。陷阱程式一般分為兩種:一種是只發現入侵者而不對其採取報復行動,另一種是同時採取報復行動。

  設置蜜罐的一種常用方法是故意聲稱Linux系統使用了具有許多脆弱性的IMAP服務器版本。當入侵者對這些IMAP服務器進行大容量連接阜掃瞄就會落入陷阱並且激發系統報警。

  另一個蜜罐陷阱的例子就是很有名的phf,它是一個非常脆弱的Webcgi-bin腳本。最初的phf是設計來查找電話號碼的,但它具有一個嚴重的安全漏洞:允許入侵者使用它來獲得系統口令文件或執行其它惡意操作。系統管理員可以設置一個假的phf腳本,但是它不是將系統的口令文件發送給入侵者,而是向入侵者返回一些假訊息並且同時向系統管理員發出報警。

  另外一類蜜罐陷阱程式可以通過在防火牆中將入侵者的IP地址設置為黑名單來立即拒絕入侵者繼續進行訪問。拒絕不友好的訪問既可以是短期的,也可以是長期的。Linux內核中的防火牆代碼非常適合於這樣做。

  五、將入侵消滅在萌芽狀態

  入侵者進行攻擊之前最常做的一件事情就是端號掃瞄,如果能夠及時發現和阻止入侵者的端號掃瞄行為,那麼可以大大減少入侵事件的發生率。反應系統可以是一個簡單的狀態檢查包過濾器,也可以是一個複雜的入侵檢測系統或可配置的防火牆。

  ● AbacusPortSentryAbacusPortSentry是開放源代碼的工具包,它能夠監視網路接頭並且與防火牆交互操作來關閉連接阜掃瞄攻擊。當發生正在進行的連接阜掃瞄時,AbacusSentry可以迅速阻止它繼續執行。但是如果配置不當,它也可能允許敵意的外部者在你的系統中安裝拒絕服務攻擊。

  AbacusPortSentry如果與Linux中透明的代理工具一起使用可以提供一個非常有效地入侵防範措施。這樣可以將為所有IP地址提供通用服務的未使用連接阜重定向到PortSentry中,PortSentry可以在入侵者採取進一步行動之前及時檢測到並阻止連接阜掃瞄。

AbacusPortSentry能夠檢測到慢掃瞄(slowscan),但它不能檢測到結構化攻擊(structuredattack)。這兩種方式最終目的都要試圖掩蓋攻擊意圖。慢掃瞄就是通過將連接阜掃瞄分散到很長的時間內來完成,而在結構化的攻擊中,攻擊者試圖通過掃瞄或探測多個源地址中來掩蓋自己的真實攻擊目標。

  正確地使用這個軟件將能夠有效地防止對IMAP服務大量的並行掃瞄並且阻止所有這樣的入侵者。AbacusSentry與Linux2.2內核的IPChains工具一起使用時最有效,IPChains能夠自動將所有的連接阜掃瞄行為定向到PortSentry。

  Linux2.0內核可以使用IPChains進行修補,AbacusPortSentry也可以與早期的2.0版內核中的ipfwadm工具一起使用,ipfwadm在2.2版本以後被IPChains取代了。

  AbacusPortSentry還可以被配置來對Linux系統上的UDP掃瞄作出反應,甚至還可以對各種半掃瞄作出反應,如FIN掃瞄,這種掃瞄試圖通過只發送很小的探測包而不是建立一個真正的連接來避免被發現。

  當然更好的辦法就是使用專門的入侵檢測系統,如ISS公司的RealSecure等,它們可以根據入侵報警和攻擊簽名重新配置防火牆。但這樣的產品一般價格較高,普及的用戶承受起來有困難。
六、反攻擊檢測

  系統主要通過阻止入侵企圖來防止入侵,而反攻擊系統則可以反向進行連接阜掃瞄或發起其它的攻擊,這一著讓入侵者不僅入侵陰謀未能得逞,反而「引狼入室」,招致反攻擊。

  有些安全系統如AbacusSentry具有一定的反攻擊能力。比如有的站點有了防止用戶通過telnet進行連接,在應答telnet連接請求時,系統將返回一些不受歡迎的惡意訊息。這只是一種最簡單也是最輕微的反攻擊措施。

  一般情況下並不提倡使用反攻擊功能,因為這樣的反攻擊措施很容易被非法利用來攻擊其它的系統。

  七、改進登入

  服務器將系統的登入服務器移到一個單獨的機器中會增加系統的安全級別,使用一個更安全的登入服務器來取代Linux自身的登入工具也可以進一步提高安全。

  在大的Linux網路中,最好使用一個單獨的登入服務器用於syslog服務。它必須是一個能夠滿足所有系統登入需求並且擁有足夠的磁碟空間的服務器系統,在這個系統上應該沒有其它的服務執行。更安全的登入服務器會大大削弱入侵者透過登入系統竄改日誌文件的能力。

  ● 安全syslog即使使用單獨的登入服務器,Linux自身的syslog工具也是相當不安全的。因此,有人開發了所謂的安全log服務器,將密碼簽名整合到日誌中。這會確保入侵者即使在竄改系統日誌以後也無法做到不被發現。現在最常用的用於取代syslog的安全log服務器稱為「安全syslog(ssyslong)」,用戶可以從CoreSDI站點http://www.core-sdi.com/ssylog處下...法被修改.
● syslog-ng另一個取代syslog的工具是syslog-ng(下一代的syslog)。這是一個更加可配置的守護工作行程,它提供了密碼簽名來檢測對日誌文件的竄改。密碼安全登入服務器和遠端審計功能一起可以使入侵者極難進行日誌竄改並且非常容易被檢測到這樣的不良企圖。用戶可以從www.babit.hu/products/syslog-ng.html 處下載這個工具.

  八、使用單一登入

  系統維護分散的大網路環境中的多個用戶帳號對於系統管理員來講是一件非常頭疼的事情。現在有一些單一的登入(signon)系統不僅可以減輕管理員的負擔,而同時還提高了安全級別。

  網路訊息服務(NIS)是一個很好的單一登入系統,它在Sun公司的YellowPage服務的基礎上發展來的,它的基本安全特性不夠健狀,由於不斷有一些bug和脆弱性被公佈,因此有人戲稱它為網路入侵者服務(NetworkIntruderService)。NIS的更新版本NIS+原NIS的不足進行了改進,現在已經有了用於Linux的NIS+版本。

  Kerberos也是一種非常有名的單一登入系統。Kerberosv4具有一些很有名的安全漏洞,如入侵者可以離線進行窮盡攻擊Kerberoscookie而不會被發現。Ketberosv5大大進行了改進,不會再有v4的問題。

  在大的網路中,像NIS和Kerberos這樣的單一的登入系統雖然有有利的一面,但也有它不利的一面。一方面,在不同系統上都具有認證機制有助於隔離該功能並且減少它與其它服務相互之間的影響。另一方面,一旦一個系統中的某個帳號被破壞,所有可通過這個帳號訪問的系統都將同樣遭到破壞。因此在單一的登入系統中特別要求具有較高防猜測水平的口令字。

  基於Windows的網路在WindowsNT域系統中有自己的單一登入系統。Linux系統可以根據Windows系統進行認證。這允許用戶在Windows系統下修改、維護和管理它們的帳號和口令字並且修改結果會在同時在UNIX登入中得到體現。如使用pam_smb,Linux系統可以根據WindowsSMBDomain進行認證。這在以Windows網路管理為中心的網路中是相當方便的,但它也帶來了Windows認證系統自身的一些不安全性。

  九、掌握最新安全產品和技術

  作為一個系統管理員,還必須時刻跟蹤Linux安全技術的發展動向,並且適時採用更先進的Linux安全工具。目前國際上有許多有關Linux安全的研究和開發專案,目前至少有三個安全Linux專案已經啟動,每個專案的目標都有自己的側重點,它們分別是:

  ● 安全Linux(SecureLinux)安全Linux(www.reseau.nl/securelinux )專案的目標是提供一個用於Internet服務器系統的安全的Linux分發。該專案管理者正尋求在這個產品中整合強大的密碼和一些額外的Web服務器功能。既然它是在美國之外創建的,人們可望能夠得到改進的密碼安全而不會受到美國安全產品出口法律的限制。

  ● BastilleLinuxBastilleLinux(www.bastille-linux.org )專案尋求在Linux環境中建立一個類似OpenBSD的標準。該專案宣稱的目標是為台式機創建一個安全的分發,使網路管理者可以不用擔心用戶的安全。

  ● Kha0sLinuxKha0sLinux(www.kha0s.org )正尋求創建了一個具有強加密和類似OpenBSD的安全政策的最小的安全Linux分發。該小組目前正在它的Web站點上請求全球用戶和廠商的參與和合作。

  除此之外,下面兩點對於管理員提高Linux安全管理水平也是十分有用的:

  訪問安全Linux郵件列表現在有許多關於Linux安全的郵件列表,如securedistros@nl.linux.org、Kha0s-dev@kha0s.org等,經常訪問這些郵件列表可以得到大量的安全訊息。

  還有另一個通用的郵件列表是security-audit@ferret.lmh.ox.ac.uk,它是專門討論源代碼的安全審計的。這個列表可能與其它的郵件列表有大量的重複,但如果想瞭解源代碼審計和相關的安全問題的話還是很值得一讀的。

  十、多管齊下

  任何一種單一的安全措施其防範能力都是有限的,一個安全的系統必須採取多種安全措施,多管齊下才能更好的保證安全。假如一個Linux系統採取了以上各種安全措施,那麼要想侵入你的系統,攻擊者將不得不繞過防火牆、避開入侵檢測系統、跳過陷阱程式、通過系統過濾器、逃過你的日誌監視器、修改文件系統內容、破壞安全登入服務器才能最終達到目的。由於其中任何一個環節都可能激發報警,因此入侵者要想侵入這樣的系統而又不被發現幾乎是不可能的。
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3203 次
向 psac 送花的會員:
s8321414 (2008-02-06)
感謝您發表一篇好文章
舊 2006-07-08, 02:58 PM   #6 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

Linux 檢視磁碟分區、文件系統、使用情況的命令和相關工具介紹


Linux 檢視磁碟分區、文件系統、使用情況的命令和相關工具介紹

作者:北南南北
來自:LinuxSir.Org
提要:Linux 磁碟分區表、文件系統的檢視、統計的工具很多,有些工具是多功能的,不僅僅是檢視磁碟的分區表,而且也能進行磁碟分區的操作;但在本文,我們只講磁碟分區的檢視,以及分區的使用情況的檢視;本文只是給新手上路之用;關於分區工具的操作,我將在以後做專門介紹;

此文目的:主要是向初學者介紹一下入門必備的一點基礎知識,有了基礎知識才能進階;如果把所有的磁碟操作工具都放在一個文檔裡,大家看了也累;基於這種想法,所以我寫文檔的時候,就想讓新手弟兄一目瞭解,能輕鬆點就輕鬆點;生活、工作和學習無不是如此;

操作環境:Fedora core 4.0 i686 & Slackware 10.1


+++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++


一、df 命令;

df 是來自於coreutils 軟件包,系統安裝時,就自帶的;我們通過這個命令可以檢視磁碟的使用情況以及文件系統被掛載的位置;

舉例:

[root@localhost beinan]# df -lh
Filesystem 容量 已用 可用 已用% 掛載點
/dev/hda8 11G 6.0G 4.4G 58% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/sda1 56G 22G 35G 39% /mnt/sda1

我們從中可以看到,系統安裝在/dev/hda8 ;還有一個56G的磁碟分區/dev/sda1掛載在 /mnt/sda1中;

其它的參數請參考 man df


二、fdsik

fdisk 是一款強大的磁碟操作工具,來自util-linux軟件包,我們在這裡只說他如何檢視磁碟分區表及分區結構;參數 -l ,通過-l 參數,能獲得機器中所有的硬碟的分區情況;
[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 7751 39728745 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux

在上面Blocks中,表示的是分區的大小,Blocks的單位是byte ,我們可以換算成M,比如第一個分區/dev/hda1的大小如果換算成M,應該是6144831/1024=6000M,也就是6G左右,其實沒有這麼麻煩,粗略的看一下把小數點向前移動三位,就知道大約的體積有多大了;
System 表示的文件系統,比如/dev/hda1 是NTFS格式的;/dev/hda2 表示是fat32格式的文件系統;.

在此例中,我們要特別注意的是/dev/hda3分區,這是擴展分區;他下面包含著邏輯分區,其實這個分區相當於一個容器;從屬於她的有 hda5,hda6,hda7,hda8,hda9 ;

我們還注意到一點,怎麼沒有hda4呢?為什麼hda4沒有包含在擴展分區?一個磁碟最多有四個主分區; hda1-4算都是主分區;hda4不可能包含在擴展分區裡,另外擴展分區也算主分區;在本例中,沒有hda4這個分區,當然我們可以把其中的一個分區設置為主分區,只是我當時分區的時候沒有這麼做而已;

再仔細統計一下,我們看一看這個磁碟是不是還有空間?hda1+hda2+hda3=實際已經分區的體積,所以我們可以這樣算 hda1+hda2+hda3=6144831+16386300+39728745 = 62259876 (b),換算成M單位,小數點向前移三位,所以目前已經劃分好的分區大約佔用體積是62259.876(M),其實最精確的計算 62259876/1024=60800.67(M);而這個磁碟大小是80.0 GB (80026361856byte),其實實際大小也就是78150.744(M);通過我們一系列的計算,我們可以得出這個硬碟目前還有使用的空間;大約還有18G未分區的空間;

fdisk -l 能列出機器中所有磁碟的個數,也能列出所有磁碟分區情況;比如:

[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 7751 39728745 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 57231 58604528 83 Linux

通過上面我們可以知道此機器有兩塊硬碟,我們也可以指定fdisk -l 來檢視其中一個硬碟的分區情況;

[root@localhost beinan]# fdisk -l /dev/sda
Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 57231 58604528 83 Linux

通過上面情況可以知道,在/dev/sda 這個磁碟中,只有一個分區;使用量差不多是百分百了;

我們還可以來檢視 /dev/hda的
[root@localhost beinan]# fdisk -l /dev/hda

自己試試看?

三、cfdisk 來自於util-linux的軟件包;

cfdisk 也是一款不錯的分區工具;在有些發行版中,此工具已經從util-linux包中剔除;cfdisk 簡單易用是他的特點;和DOS中的fdisk 相似;在本標題中,我們只來解說如何檢視機器的中的磁碟分區狀況及所用的文件系統等;

檢視磁碟分區的用法 cfdisk -Ps 磁碟設備名;
比如
[root@localhost beinan]cfdisk -Ps
[root@localhost beinan]cfdisk -Ps /dev/hda
[root@localhost beinan]cfdisk -Ps
Partition Table for /dev/hda
First Last
# Type Sector Sector Offset Length Filesystem Type (ID) Flag
-- ------- ----------- ----------- ------ ----------- -------------------- ----
1 Primary 0 23438834 63 23438835 Linux (83) Boot
2 Primary 23438835 156296384 0 132857550 Extended (05) None
5 Logical 23438835 155268224 63 131829390 Linux (83) None
6 Logical 155268225 156296384 63 1028160 Linux swap (82) None

我們只用的參數 -Ps,就列出了磁碟的分區情況;目前在Slackware Debian Mandrake 等主流發行版中存在cfdisk ,而fedora 4.0把這個小工具剔除了;有點可惜;這是我在Slackware中操作的;

如果您這樣操作,就更直觀了;
[root@localhost beinan]cfdisk 磁碟設備名

舉例:
[root@localhost beinan]cfdisk /dev/hda

您所看到的是如下的模式:

cfdisk 2.12a
Disk Drive: /dev/hda
Size: 80026361856 bytes, 80.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 9729
Name Flags Part Type FS Type [Label] Size (MB)
-------------------------------------------------------------------------------------------
hda1 Boot Primary Linux ReiserFS 12000.69
hda5 Logical Linux ReiserFS 67496.65
hda6 Logical Linux swap 526.42
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ] [ Quit ]
[ Type ] [ Units ] [ Write ]
Toggle bootable flag of the current partition

您進入了cfdisk 的操作界面;用鍵盤移動指標到[Quit]就可以退出;


四、parted 功能不錯的分區工具;在Fedora 4.0中有帶,可以自己安裝上;在此主題中,我們只說如何檢視磁碟的分區情況;

呼叫方法簡單,parted 預定是打開的設備是/dev/hda ,也可以自己指定;比如 parted /dev/hda 或/dev/sda 等;退出的方法是 quit
[root@localhost beinan]# parted
使用 /dev/hda
(parted) p
/dev/hda 的磁碟幾何結構:0.000-76319.085 兆字節
磁碟標籤類型:msdos
Minor 起始點 終止點 類型 文件系統 標誌
1 0.031 6000.842 主分區 ntfs 啟動
2 6000.842 22003.088 主分區 fat32 lba
3 22003.088 60800.690 擴展分區
5 22003.119 30004.211 邏輯分區 reiserfs
6 30004.242 40005.615 邏輯分區 reiserfs
7 40005.646 40774.350 邏輯分區 linux-swap
8 40774.381 52219.094 邏輯分區 ext3
9 52219.125 60800.690 邏輯分區 reiserfs

我們在partd 的操作面上,用p就可以列出當前磁碟的分區情況,如果想要檢視其它磁碟,可以用 select 功能,比如 select /dev/sda ;

五、qtparted ,與parted 相關的軟件還有qtparted ,也能檢視到磁碟的結構和所用的文件系統,是圖形化的;

[beinan@localhost ~]# qtparted

圖形化的檢視,一目瞭然;



六、sfdisk 也是一個分區工具,功能也多多;我們在這裡只說他的列磁碟分區情況的功能;

[root@localhost beinan]# sfdisk -l

自己看看吧;

sfdisk 有幾個很有用的功能;有興趣的弟兄不妨看看;


七、partx 也簡要的說一說,有些系統自帶了這個工具,功能也簡單,和fdisk 、parted、cfdisk 來說不值一提;不用也罷;

用法: partx 設備名

[root@localhost beinan]# partx /dev/hda
# 1: 63- 12289724 ( 12289662 sectors, 6292 MB)
# 2: 12289725- 45062324 ( 32772600 sectors, 16779 MB)
# 3: 45062325-124519814 ( 79457490 sectors, 40682 MB)
# 4: 0- -1 ( 0 sectors, 0 MB)
# 5: 45062388- 61448624 ( 16386237 sectors, 8389 MB)
# 6: 61448688- 81931499 ( 20482812 sectors, 10487 MB)
# 7: 81931563- 83505869 ( 1574307 sectors, 806 MB)
# 8: 83505933-106944704 ( 23438772 sectors, 12000 MB)
# 9: 106944768-124519814 ( 17575047 sectors, 8998 MB)

八、檢視目前機器中的所有磁碟及分區情況:
[beinan@localhost ~]$ cat /proc/partitions
major minor #blocks name
3 0 78150744 hda
3 1 6144831 hda1
3 2 16386300 hda2
3 5 8193118 hda5
3 6 10241406 hda6
3 7 787153 hda7
3 8 11719386 hda8
3 9 8787523 hda9
8 0 58605120 sda
8 1 58604528 sda1


九、mac-fdisk 這個工具主要是用在Powerpc版本的Linux中,咱們常用X86版本中沒有這個工具;這個只是介紹一下;
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3203 次
向 psac 送花的會員:
s8321414 (2008-02-06)
感謝您發表一篇好文章
舊 2006-07-08, 09:52 PM   #7 (permalink)
註冊會員
榮譽勳章
UID - 4587
在線等級: 級別:16 | 在線時長:326小時 | 升級還需:31小時級別:16 | 在線時長:326小時 | 升級還需:31小時級別:16 | 在線時長:326小時 | 升級還需:31小時級別:16 | 在線時長:326小時 | 升級還需:31小時級別:16 | 在線時長:326小時 | 升級還需:31小時級別:16 | 在線時長:326小時 | 升級還需:31小時
註冊日期: 2002-12-07
VIP期限: 2011-05
文章: 618
精華: 0
現金: -120 金幣
資產: 3516 金幣
預設

感謝 大大 的熱心分享
kyoshih 目前離線  
送花文章: 206, 收花文章: 35 篇, 收花: 74 次
舊 2006-10-01, 05:25 PM   #8 (permalink)
長老會員
 
yu jun 的頭像
榮譽勳章
UID - 3708
在線等級: 級別:35 | 在線時長:1405小時 | 升級還需:35小時級別:35 | 在線時長:1405小時 | 升級還需:35小時級別:35 | 在線時長:1405小時 | 升級還需:35小時級別:35 | 在線時長:1405小時 | 升級還需:35小時級別:35 | 在線時長:1405小時 | 升級還需:35小時級別:35 | 在線時長:1405小時 | 升級還需:35小時級別:35 | 在線時長:1405小時 | 升級還需:35小時級別:35 | 在線時長:1405小時 | 升級還需:35小時級別:35 | 在線時長:1405小時 | 升級還需:35小時級別:35 | 在線時長:1405小時 | 升級還需:35小時
註冊日期: 2002-12-07
住址: 很想要有個家
文章: 4056
現金: 17880 金幣
資產: 42162 金幣
預設

P大..您真是太厲害了! Orz
Linux ..
在下 很想嘗試安裝..(想脫離微軟的魔爪控制..)
但是又從來未接觸過..(怕出錯..不會挽救..)
光想..又沒勇氣行動..(作白日夢..)
最後就是..
殘念!
yu jun 目前離線  
送花文章: 1810, 收花文章: 365 篇, 收花: 1966 次
舊 2006-10-01, 11:01 PM   #9 (permalink)
長老會員
 
mancool 的頭像
榮譽勳章
UID - 2396
在線等級: 級別:11 | 在線時長:167小時 | 升級還需:25小時級別:11 | 在線時長:167小時 | 升級還需:25小時級別:11 | 在線時長:167小時 | 升級還需:25小時級別:11 | 在線時長:167小時 | 升級還需:25小時級別:11 | 在線時長:167小時 | 升級還需:25小時級別:11 | 在線時長:167小時 | 升級還需:25小時
註冊日期: 2002-12-06
住址: 姆大陸
文章: 1356
現金: 776 金幣
資產: 39984 金幣
預設

非常實用,使我回憶往時使用Linux時的情況。只是因商業上要使用完全配合MS Office格式的文檔真的有點難。
__________________
提供下載之附件為測試及學術用途! 必須24小時內刪除,不能轉讓或出售!
http://img.photobucket.com/albums/v478/mancool/Photo/normal_100_0095.jpg
請支持購買正版,尊重智識產權!
mancool 目前離線  
送花文章: 1, 收花文章: 68 篇, 收花: 153 次
舊 2006-10-02, 03:57 AM   #10 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

引用:
作者: yu jun
P大..您真是太厲害了! Orz
Linux ..
在下 很想嘗試安裝..(想脫離微軟的魔爪控制..)
但是又從來未接觸過..(怕出錯..不會挽救..)
光想..又沒勇氣行動..(作白日夢..)
最後就是..
殘念!
偶的重心還是以windows OS...但
你如電腦較舊的,不妨多加一試! 決對值得,,,不要還有一熱心的"飛鳥"
一直專門玩的,可以去問 ...
引用:
作者: mancool
非常實用,使我回憶往時使用Linux時的情況。只是因商業上要使用完全配合MS Office格式的文檔真的有點難。
這大陸那邊似乎投資上明顯比較多,有那些商業的工具,處理就方便些,,....
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3203 次
舊 2006-10-02, 04:41 AM   #11 (permalink)
長老會員
 
anotherlevel 的頭像
榮譽勳章
UID - 50403
在線等級: 級別:60 | 在線時長:3956小時 | 升級還需:9小時級別:60 | 在線時長:3956小時 | 升級還需:9小時級別:60 | 在線時長:3956小時 | 升級還需:9小時級別:60 | 在線時長:3956小時 | 升級還需:9小時級別:60 | 在線時長:3956小時 | 升級還需:9小時
註冊日期: 2003-03-20
住址: 充滿讚美感恩的虎爛宮
文章: 14362
精華: 0
現金: 7968 金幣
資產: 1353874 金幣
預設

感謝大大發表的好文章
收起來慢慢看
anotherlevel 目前離線  
送花文章: 106343, 收花文章: 12197 篇, 收花: 44083 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 07:39 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2020, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1