來自:碼農網 連結:http://www.codeceo.com/which-linux-should-use.html 原文:https://dzone.com/articles/which-distribution-of-linux-should-i-use
很多人經常會問我這樣一個問題:“嘿,你是用 Linux 的,對吧?我應該使用 Linux 的哪個版本?我有這個朋友推薦我_____,你覺得怎麼樣?” 我通常會以這樣的問題回覆:這取決於你想做什麼?
今天我決定寫一篇關於如何選擇 Linux 發行版的部落格文章,以便於大家借鑒。
我覺得我應該先介紹一下我和 Linux 的過往,以防你在閱讀本文時無法理解我。當然,如果你不在乎,你也可以跳過。
我在 1996 年左右開始使用 Linux。我和 Linux 的第一次親密接觸是 Slackware 4,這是我在 Egghead Software 購買的一套 CD(沒錯,是舊的)。我的一個朋友告訴我這個 Unix 非常棒,他說我只需要嘗試一下,就會喜歡它。
我讀過關於 Unix 的很多文章,對此非常好奇。我在網際網路服務提供商那有一個 shell 賬戶,我曾經笨拙地修改過。在使用 Unix 的起初我有點猶豫:“為什麼我要用 Unix?” 他的回答很簡單:“因為你非常討厭 Windows 95,喜歡 DOS,所以你會喜歡 Unix”。然後我就買了它。他是對的。
我拿了一個舊硬碟來安裝。經過若干小時又若干天的戰鬥,我終於啟動了桌面,可以開始運行了。我不知道是什麼驅使我渡過了這段難熬的時光,但我心中有一個念想就是我一定一定要弄清楚如何使這個系統工作,即便困難重重。我必須非常瞭解我的硬體!簡單的事情突然再次變得困難起來。最終我成功了。我開始構建一些愚蠢的指令碼以獲得樂趣。系統速度很快,這種可以掌控操縱一切的感覺棒極了。
有內建的 C 編譯器嗎?因為不懂這個,因此我剛買了某個非常昂貴的 Borland 軟體包。但是這個作業系統內建了一個編譯器?!還有免費的影象編輯器?!我被完全迷住了!
此後多年,我嘗試過大量發行版。甚至是 BSD Unix 系列的。我的 “主計算機” 總是雙啟動的,其中一些是純 Linux。21 世紀初的大部分時間裡,我完全避開了 Windows。所以到今年為止,關於我的 “主機”,它是這樣的:
1996-1999:Slackware
1999-2002:Redhat(及 FreeBSD)
2003-2005:FreeBSD / Knoppix
2005-2009:Gentoo
2009-2011:Linux Mint
2011-2018:Arch Linux / Debian
我使用過大約 50 個或更多發行版,執行在我的 “主機” 上,用於工作、瀏覽和開發以及其他任何事情。很明顯,Arch 迄今為止執行時間最長,主要是因為我對其進行配置之後,很長一段時間遺忘了它。
因此,最近幾年我 “真正用於工作” 的主要發行版本是 Debian。
下麵,讓我們談談你應該使用哪個版本。
我將根據常見需求對 Linux 版本進行分類。這裡有一些重疊的地方,而且如果準備充分的話,這些 Linux 發行版任何一個都可以滿足你的期望需求。Linux 的一大優點是允許你隨心所欲。但是,歸根結底,發行版之間還是有區別的,有些能為你做很多工作,或者某個版本具有更適合針對某個標的的設計。下麵我會根據實現標的的最簡單途徑來對這些發行版分類。
有很長一段時間,我會給 Linux 新手推薦 Ubuntu。就易用性和相容性而言,Ubuntu 非常棒。但我現在非常討厭 Ubuntu。不過,我仍然會在我的課程和文章的 demo 中使用,因為用 Ubuntu 的人很多,但我不喜歡他們執行這種發行版的方式——內建 Amazon 廣告軟體,而且 Unity 相當令人討厭。
所以如果你剛入門,我的建議是:
Linux Mint Download
Debian Download
這是一個騙局,因為 Linux Mint 與 Debian 有密切關係,但 Mint 看起來更漂亮並且有一些跨平臺的東西。
出於以下目的,可以使用這些釋出版:
類似 Windows 的體驗
安裝簡單
可靠
“類似 Linux”,且不自成一派
“恰好管用”
好吧,最後一條真的很重要。我們需要的就是有效和管用。這些發行版都是即插即用的。設定好了即可。我的開發機器現在越來越依賴 Debian,因為有時我並不關心作業系統,也不希望它來妨礙我。當我處於一種只想構建東西的狀態時,就會所向無敵。
也許你正處於一種嬉戲和試驗的心情。你想挑戰自己,想要透過實踐來強迫自己學習。這很好,這也正是我所做的。
如果你想挑戰自我並學習一些東西,我的建議是:
Slackware Linux
Arch Linux
Gentoo Linux
FreeBSD(不是 Linux,但適合分到這一類別)
這些發行版中的每一個都需要大量配置,硬體發現和原始碼編譯。Gentoo,你必須編譯所有東西。這是絕對完全掌控作業系統的好方法。
出於以下目的,可以使用這些釋出版:
完全掌控你的電腦和作業系統
瞭解 Linux 內部
精簡的最佳化系統
這需要付出代價:主要是時間。完整安裝這些可能需要幾個小時。從好的一面來看,它們可以執行很久。
我在 Lenvov 上安裝 Arch Install,差不過週六一天時間都花在了配置上,之後又大概花了 10 個小時甚至更長時間。它毫不費力就運行了 5 年(直到膝上型電腦硬體報廢)。偶爾需要更新一下,但是它讓我可靠地使用了整整 5 年時間。因此,這是一次很有價值的投資。
好吧,也許你不在乎其穩定性如何,只想要最新最好的軟體。你想要擺弄核心,或者做一些其他程式員昨天提交的很酷的玩意兒。
為了穩定性和安全,現在你需要的是最新的:
Arch Linux
OpenSuse Tumbleweed
Fedora Rawhide
Gentoo Unstable
出於以下目的,可以使用這些釋出版:
為學習最新的東西而甘冒風險
最新和最偉大的功能
有趣的配置以便於處理重大更改
公平地說,我個人使用過 Arch 和 Gentoo,雖然沒有出現嚴重的穩定性問題,但是是有風險的。
好的,也許你並不關心作業系統的細節,只是想要 GSD(Get Stuff Done 完成任務)。也許你想要構建 Node 或 GoLang app,道聽途說 Linux 最適合。
如果你想完成工作的話,下麵這些很有幫助:
Debian Download
Fedora
openSuse Leap
Ubuntu Studio (雖然它是 Ubuntu,但可以很好地組合在一起)
出於以下目的,可以使用這些釋出版:
執行平穩,維護量低
最小配置
大部分事情可以自動完成
相容硬體和軟體
正如我所說的,我現在經常使用 Debian,因為我通常只是製作一些東西,而不是真的想要修整和最佳化。它穩定,快速,並且不會妨礙我的行事方式。我正是在 Debian 9 中寫的這篇文章。
也許你想建立一個 Web 伺服器或虛擬主機,卻不知道要用哪個版本。此分類中的第一個就是用於虛擬主機的主要釋出版,所以如果你想要一些可以模擬託管軟體的網站的東西,那麼試試 CentOS(或學習 Docker!)
下麵這些是用於虛擬主機的堅實可靠的幫手:
CentOS
Red Hat Enterprise Linux (RHEL)
Debian 9 Download
FreeBSD (不是 Linux,但適合分到這個類別)
出於以下目的,可以使用這些釋出版:
穩定性
安全
支援其他出於同樣原因的程式員使用
我相信任何 Linux 發行版都可以有效地用於虛擬主機,但有些會更繁瑣。
如果你是那種每一次效能提升都想出成果的型別(曾經我也是如此),那麼這些發行版對你而言肯定很棒。其中一些需要編譯所有原始碼,以便為處理器生成最佳化的二進位制檔案。超有意思!
Clear Linux (For Intel CPUS, by Intel)
Gentoo Linux
Arch Linux
FreeBSD (不是 Linux,但適合分到這個類別)
出於以下目的,可以使用這些釋出版:
顯著的效能提升
高負載計算
請記住,硬體已經達到了效能要求,因此它不再像以前那樣顯得至關重要。15 年前,你可以破解核心並撥號服務,然後發現會有一個大的提升。現在,硬體的差異可以忽略不計。執行任何 Linux 都能夠非常流暢。
或者你想建立一個很難侵入的系統,無論出於何種原因。有若干安全性釋出版值得成為關註的焦點。如果你真的擔心鎖定主機,那麼可以看看這些:
TAILS Linux
Alpine Linux
CoreOS
TENS Linux (DOD Project)
Tin Hat Linux
OpenBSD (不是 Linux,但適合分到這個類別)
出於以下目的,可以使用這些釋出版:
安全性
匿名性
好的,有時你只想要一些精簡和輕巧的東西,完成某項工作即可。我絕對理解。也許你有一個想重新定位的舊奔騰處理器。也許作業系統只是標的的一小部分,你想要最小化的容量和配置。
ArchBang
Lubuntu
Puppy Linux
Tiny Core Linux
Bodhi Linux
出於以下目的,可以使用這些釋出版:
將在舊的硬體上執行
盡可能最小化
可能你覺得這篇文章看上去有點瑣碎,但你可以根據你的具體情況和實際目的,從我給出的分類中挑選 Linux 發行版,並將其配置和調整成你想要的模樣。這就是 Linux 的本質,最大化的可自定義。這些都是允許快速入門的極佳釋出版。如果你認為我有遺漏的地方,歡迎隨時在評論中留言。
不管你是乾什麼的,如果你因為對 Linux 好奇而開啟這個頁面,那麼務必請嘗試一回!就是現在!絕對物有所值,讓你愛不釋手!
●編號476,輸入編號直達本文
●輸入m獲取文章目錄
Python程式設計
更多推薦《18個技術類微信公眾號》
涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。