作為一名 CS 專業(yè)的本科學生,不經意間 Linux 進入我的工作學習生活已經有六年。在本文中我將簡單的小記這六年來我與 Linux 相關的經歷與收獲,希望本文可以幫助到一些初識 Linux 的小伙伴們。我將會詳細講述我所使用過 Linux 發(fā)行版對我個人來說各有什么便宜之處,經過了它們的洗禮我有哪些感想和收獲。它們(按字母排序)分別是:
·ArchLinux
·Debian
·FreeBSD
·Fedora
·Gentoo
·KDE Neon
·Ubuntu Kylin
我只打算講講這些我曾經作為桌面操作系統(tǒng)長期使用的發(fā)行版,而不包含我在服務器上使用的那些發(fā)行版,如:RHEL、CentOS 等。這個表單里有一個不合群的家伙 – FreeBSD,它并不是一個 Linux 發(fā)行版,而是類 Unix。我之所以想寫寫它的原因將會在后文中講述。
注意:本文內容較長,如果你時間有限,可以直接翻至文章末尾,我會有一個形如總結的片段。
一切的開始 – 初識 Linux
頗有些奇怪的是,我對第一次接觸與使用 Linux 記憶猶新。我第一次安裝使用的 Linux 版是一個大家耳熟的中國本土化發(fā)行版 –deepin,可能是它當時給我?guī)淼捏@艷感覺讓我至今仍然記憶深刻。彼時,我是一名普通的高中生,當時主要的開發(fā)工作是使用 C 進行一些機器人硬件編程。一次偶然的機會,我看到了 deepin 的宣傳文稿并下載了deepin 2013進行了安裝體驗。那時我的設備性能現(xiàn)在看來是十分孱弱的:
奔騰平臺標壓 U
4GB RAM
忘記具體規(guī)格的 HDD 一塊
集成顯卡
顯而易見,由于彼時 DDE 剛剛誕生不久,優(yōu)化和響應只能稱的上合格(更大可能是我的設備過于孱弱,但其實也能體現(xiàn)當時家庭計算機的性能表現(xiàn)了),所以長期的使用體驗可以說是有些糟糕了。盡管當時那種新穎的感覺和 deepin 別致的設計確實吸引到了我,但是在短暫的使用之后,我選擇卸載了它,裝回了 Windows 7。但是我并沒有離 Linux 遠去,我在 deepin 短暫的半月/一月使用時間第一次了解到了兩點:
1.原來并不是所有的操作系統(tǒng)都是閉源收費的(沒錯就是說你,Windows)。
2.原來桌面環(huán)境并不是死板前篇一律的,也是可以花里胡哨的。
盡管我之后并沒有再使用過 deepin,但仍然感謝它將我?guī)肓?Linux 的世界中。題外話: deepin 現(xiàn)在已經十分不錯,會是中文用戶不錯的一個選擇。
初入大學校門 – 開始學習與使用 Linux
在初識 Linux 之后,由于高考的緣故我并沒用太多使用電腦的機會,也就沒有再有后話。直到升入大學后的第一門課 – C 語言程序設計(這是我本科成績最好的一門課,出道即巔峰),由于當時我已經從事了兩年的 C 語言的淺顯開發(fā), C 語言課堂對我唯一的吸引就是聽老師吹水(逃)。在任課老師開課不久的一次傳教中,我悄無聲息的用上了 Emacs,頗有些病態(tài)的學了 LaTex (當時需要提交的所有文檔都是 doc)。那么面臨的一個問題是如何獲取到最好的 Emacs 和 LaTex 體驗,答案自然不用多說自然是在 GNU/Linux 中使用它哥倆。
當時我并不是一個富有經驗的用戶,我選擇了使用Ubuntu Kylin16.04 LTS – 另一個中國本土 Linux 發(fā)行版(這其實也是學校內一部分老師的選擇,我不確定自己是否受此影響)。通過名字顯而易見的 Ubuntu Kylin 是一個 Ubuntu Base 的發(fā)行版,提供一些默認更適合中文的設置。我在上面安裝了 Emacs 與 texlive-base,那段時間真是一段不錯的體驗。當時我的設備性能依舊孱弱,它是一臺 Dell Chromebook11:
·賽揚平臺低壓 U
·4GB RAM
·16GB SSD
·集成顯卡
這臺機器給我?guī)淼氖斋@很大,我通過它與 Ubuntu Kylin 學會了 Linux C/C++ 工具鏈的使用,開始了 Emacs 人生。而機器本身無法拓展的極小存儲和 Ubuntu Kylin 提供的大量默認中文軟件(像 WPS office 一類)讓我廢了不少功夫之后學會了如何管理 Linux,規(guī)劃自己的存儲,不得不說我認為這是誤打誤撞的一個不錯開始。
由于安裝的是一個 Long-term support 版本,借力于 Ubuntu/Debian 豐富的倉庫軟件, Ubuntu Kylin 在我的機器上表現(xiàn)相當不錯,我認為它是電腦淺使用者和中文 Linux 初學者的一個不錯的選擇,軟件豐富而不失穩(wěn)定,又有合適的中文本土化。之后我在父母使用的一臺陳舊的電腦上安裝了 Ubuntu Kylin 16.04 LTS ,至今看起來仍然工作的不錯。
我使用 Ubuntu Kylin 也有所收獲,我學會了如何管理和配置 Debian 系的系統(tǒng),了解了一些開源社區(qū)的文化,開始使用 git,學會了 shell 編程和 python。我在 Ubuntu Kylin 上寫出自己的第一個腳本和爬蟲。 我對 Ubuntu Kylin 評價是: Linux 中文用戶起始的一個優(yōu)秀選擇,它可以在性能一般的機器上良好的工作,附帶有 Ubuntu 軟件倉庫大量的軟件可供選擇。你可以選擇使用 deb 包去安裝一些不被官方倉庫收錄的軟件。
新想法的實踐 – 策略激進的 Linux 選擇
在快一年的 Ubuntu Kylin 使用之后,我面臨一個問題,Ubuntu Kylin LTS 這類追求軟件穩(wěn)定的發(fā)行版不能滿足我的一些需求,我想嘗試最新的一些軟件和最新的內核特性。幾個作為代表的需求就是 Emacs 25(當時官方倉庫只有 v24.3,而我還不會手動編譯) 以及 BBR TCP 擁塞控制算法(這是在 Kernel v4.9 + 提供的,當時我也并不會替換內核)。這時我需要一個更新策略更為激進的 Linux 發(fā)行版,又了解到 Linus 日常使用 Fedora ,于是風風火火的安裝了 Fedora 24 。Fedora 是一個更新頻率更高(半年一次 release)的發(fā)行版,你能預期到的新特性都能在 Fedora 上得到體驗。并且 Fedora 是為數不多提供多個桌面環(huán)境(DE)默認配置支持的發(fā)行版,并不像 KUbuntu 、 LUbuntu 等那樣會把你搞到頭暈,你可以在 Fedora skin 找尋到所有 Fedora 社區(qū)維護的不同 DE 的安裝鏡像。
這時,我從 Unity 桌面轉向了使用 KDE,至今我仍認為 KDE5 是最為成熟華麗的桌面環(huán)境,奇怪的是國內用 KDE 的人并不多,大家好像普遍認為不夠易用(我完全不知道哪里不易用)。Fedora 使用 rpm 包管理軟件,使用 dnf 處理依賴, dnf 可能是第三好用的軟件包管理引擎,他使用第二好用的 zypper 的后端 libslov 提升了依賴計算效率。如果你使用過 yum 你就會發(fā)現(xiàn) Fedora 作為一個 Redhat 的發(fā)行版居然挺好用的,這其中自然有 dnf 的功勞。有一點很好玩,dnf 與某網游同名,那時在宿舍里每天總是有兩個人打著 dnf 。
盡管 Fedora 已經滿足了我的要求,也讓我知道了為什么是最易于安裝的(這話 Linus 說的),但我使用過的 Fedora 最終版本號還是停留在了 Fedora25 。這其中的原因有點尷尬,當時我在學習 Scheme ,我使用 guile 作為 REPL ,我偷懶使用了倉庫里的 guile ,在鍵入形如sudo dnf install guile之后, dnf 自動安裝了 guile1.8 ,在我想使用 guile 2.0 替換時詭異的是依賴鏈斷了, dnf 甚至提示我要卸載掉 kernel ,于是我放棄了使用 guile 作為 REPL 轉而使用 chez。就像壓死駱駝的最后一根草,擊潰我持續(xù)使用 Fedora 打算的最后一擊發(fā)生在更新 Fedora26 時,這事實上是大多數周期更新發(fā)行版的一個普遍問題,當我 system-upgrade 時,我有接近 5000 個包需要重新安裝。盡管 Fedora 運行在我的一臺性能還可以的新設備上,這仍然讓我覺得浪費時間。我的設備配置大概是這樣:
i7-6700HQ
16GB RAM
0.5 TB SSD + 0.5TB HDD
有點好玩的一點是,現(xiàn)在看來我之后在別的發(fā)行版上好像浪費的時間遠遠多一些。我在 Fedora 上學會了裁剪編譯內核,同時日常使用 rpm 也大大幫助到了我管理當時手頭的幾臺服務器。目前的我認為, Fedora 實至名歸是 Linux 內核學習者邁出第一步的最好選擇,當然也是 RHEL/CentOS 管理員個人電腦的不二選擇。
在這之后,由于參與了一些 CTF 比賽,我需要安裝大量的安全審計工具,我選擇了 Kali Linux ,這是一個設計理念對普通用戶而言略有畸形的發(fā)行版,由于只用了幾個月,所以我只是簡單的提一嘴,不會推薦它作為日常使用的選擇。
前文我提到 Fedora 是比較激進的,可能會有不少的 ArchLinux 用戶嗤之以鼻。事實上,在 Kali Linux 之后,我十分艷羨 AUR 里的大量用戶軟件,也開始長期使用 ArchLinux 作為開發(fā)系統(tǒng)。 ArchLinux 可能確確實實是社區(qū)思想最為激進和包容的。 AUR 里充滿了各種你想象不到的軟件,由于沒有協(xié)議的限制,你甚至能看到大量的私有軟件。 AUR 使用 git 管理用戶腳本,這代表每一個 AUR package 的維護者可以極為簡單的長期維護。
當你在網上搜索關于 ArchLinux 的評價時,你會發(fā)現(xiàn)幾乎是所有人都會詬病它的安裝過于復雜。由于 ArchLinux 的哲學,你在安裝時需要自己完全手動控制所有的事,包括:網絡、語言、軟件源、Xorg、驅動等等,它除了文檔及一些輔助腳本外并不會給你圖形化支持。事實上,我認為大部分人夸大了 ArchLinux 的安裝難度,我第一次安裝 ArchLinux 用了 15 分鐘,甚至比一些提供圖形工具引導安裝的發(fā)行版還要快點,我認為除非遇到一些奇怪的問題否則照著文檔 step by step 就萬事大吉了。
使用 ArchLinux 你注定會養(yǎng)成遇事查看文檔的好習慣,因為它的 wiki 文檔真的是無出其右。通常情況下,你遇到的所有問題都能在 wiki 里找到解決方案。在 ArchLinux 中,你也可以選擇任何你喜歡的桌面環(huán)境,不論它是 KDE 還是 DDE,甚至是 WM 都有著極好的文檔。所有的軟件都提供兩種安裝方式:二進制包和源碼包。你可以根據自己的設備性能來選擇你想要的方式??偟膩砜矗?ArchLinux 是最為寬松的,且擁有質量較高的社區(qū)、文檔和用戶,如果單從這三方面來看 ArchLinux 就是最好的,唯一能與它掰手腕的就是 Gentoo 了。
ArchLinux 讓我明了了完整 Linux 的結構,它以高可定制性聞名。如果你是一個樂意折騰新鮮事物及刺激感的 x64 入門(存疑,我是這樣認為的)用戶,那么 ArchLinux 絕對是你的最好選擇。至于為什么說是 x64 呢, ArchLinux 對別的架構并沒有官方支持,而且?guī)啄昵耙呀浲耆瞥?32 位安裝鏡像,所以安裝一個 i686 的 ArchLinux 是有些困難的。我遺忘說明的一點是 ArchLinux 是一個完全滾動發(fā)行版,一次安裝,終身最新。
編譯,編譯,編譯 – 構建性能最佳的 Linux
在 2018 年,我購入了幾本 Unix 的書,對 Unix 產生了莫大興趣。什么叫做血統(tǒng)純正(戰(zhàn)術后仰)?對于 Unix 的歷史和分支,限于篇幅我無法細講,這其中的故事大概可以單獨拿出來寫一篇很長的文章了。我選擇了 FreeBSD,這是一個 UC Berkeley 維護的類 Unix ,其實血統(tǒng)并不純正,不能大言不慚的稱之為 Unix。但其實也是沒有辦法的事,事實上,當你不付出金錢代價,你無法體驗到正兒八經的 Unix 。 FreeBSD 已經是一個很純凈的類 Unix 了,只是沒有通過 SUS 認證(沒人交錢)。這也是在本文中拿來和 GNU/Linux 一起講述的原因,對于 Unix 、類 Unix 、 Linux 其實沒有錙銖必較的必要。
我使用 FreeBSD 的時間其實是十分短暫的,和我使用 deepin 的時間伯仲之間。一開始我是為了體驗 Unix 哲學和 TECO 才安裝了 FreeBSD ,后來我發(fā)現(xiàn) FreeBSD Ports 竟然如此的好用,有一瞬是想長期使用 FreeBSD 的,最后促使我離開 FreeBSD 的原因 Ports 也是其中之一。當你也嘗試使用 FreeBSD 時,你會發(fā)現(xiàn)它確實有一股古董的腐朽的味道了,盡管它的設計仍然是現(xiàn)代的,作為中文用戶許多軟件的 FreeBSD 支持并不好或者說壓根不支持,你會在編譯時遇到各種問題。作為一個嘗鮮的用戶,其實并沒有太大的動力去解決抑或是移植,這也是軟件生態(tài)對操作系統(tǒng)的影響的體現(xiàn)。促使我快速放棄 FreeBSD 的原因還有 Ports 的編譯速度,它好用歸好用,但是我第一次編譯 KDE 足足花去了 8 個小時。這兩點就好比讓你去當一只瘸腿行進的烏龜,尤其是我還是一只沒什么經驗的烏龜。最終我快速放棄了 FreeBSD ,盡管它好用與穩(wěn)定。
當你開始追尋定制追尋性能是,你無法不去嘗試的一個發(fā)行就是 Gentoo – 它擁有世界上第一好的包管理器、世界上最好的不亞于 ArchLinux 的社區(qū) wiki 文檔以及沒有替代品的 USE Flag。當我第一次安裝使用 Gentoo 是痛苦與震驚的,痛苦的是它的安裝確實有些困難,當你第一次接觸 USE 標記時,也一定會困惑于它。 Gentoo 利用 USE 標記、 Portage 和 slot 完美的做到了依賴計算、編譯控制和多版本軟件共存,你會發(fā)現(xiàn)當你使用 Gentoo 一切都是那樣的和諧。 Gentoo 同樣提供類似 AUR 一樣的倉庫 – overlay,數量及質量上比 AUR 只高不低。而且 Gentoo 的團隊是更加穩(wěn)定負責的,所有官方倉庫的包都經過嚴格驗證,質量普遍很高。
既然 Gentoo 是這樣的厲害,是不是大家都 Gentoo 完事了?事實上我對 Gentoo 一直都是難以割舍的,但是僅次于 LFS 的安裝配置難度以及大量的編譯時間已經可以把大部分人拒之門外了。由于追求最完美的性能,所有的軟件你都必須編譯完成安裝,無法通過二進制包的方式來安裝,更新也是如此。好玩的一點是,我每次更新 Gentoo 時都能看完兩部電影,我認為長期使用 Gentoo ,找尋電影資源也是一個難點。
對于 Gentoo 我還有一個小提示:由于可以限制安裝軟件的協(xié)議,你可以利用這一點構建一個真正的自由操作系統(tǒng)。
返璞歸真 – 最適合我的 Linux
后來,我發(fā)現(xiàn)我對發(fā)行版的大致需求就是較新的 KDE 、滾動更新和軟件資源豐富一些。一開始我以為 openSUSE Tumbleweed 就是我的最好選擇了,后來我所維護的服務器都變成了 Ubuntu Server 和 Debian 9 ,索性我也不想使用 rpm 系的發(fā)行版作為桌面了。當時正值 KDE Neon 大火,我也去嘗試了一下。 Neon 在國內好像用的人不多,同樣是 Ubuntu Base 大家好像更愿意選擇 KUbuntu (當然現(xiàn)在 KUbuntu 已經成為歷史了), Neon 是 KDE 社區(qū)維護的一個滾動發(fā)行版。我對它無法作出太多的評價,因為它沒有缺點。
現(xiàn)在我正在使用 Debian sid ,這已經持續(xù)了一段時間。它的表現(xiàn)無可指點,十分優(yōu)秀。盡管沒有 ArchLinux/Gentoo 那般崢嶸。我認為 Debian sid 就是我日常使用的最佳選擇,它穩(wěn)定而易用。
本文的最后,我大概總結下我所使用過的發(fā)行版有哪些特點和我認為它們更適用的用戶群體,希望能夠幫助到他人。
對于中文入門用戶,我認為 Ubuntu Kylin 是很好的選擇。 它在大多數型號的機器上表現(xiàn)的很好,在最近幾年桌面環(huán)境更迭為 UKUI 之后,交互體驗也在漸漸貼近 Windows,比較適合 Windows 遷往 Linux 的用戶遷移。
對于 KDE 用戶,我認為 KDE Neon 和 ArchLinux 是唯二選擇,你可以在這兩個發(fā)行版上體驗到最新的 KDE ,只不過 Neon 上的是由 KDE 社區(qū)驅動。
對于期待深入 Linux 的用戶,我認為 Fedora 和 ArchLinux 是不錯的選擇。你可以在這兩個發(fā)行版上體驗許多實驗特性,而它們的軟件資源本身就十分豐富。 Fedora 的唯一劣勢可能就是中文社區(qū)的活躍度無法與后者相比。
對于想要或已經成為專業(yè)用戶的人,我認為 Gentoo 和 ArchLinux 是不錯的選擇。它們都可以為你提供靈活的選擇和配置。
對于想要構建高性能服務器的用戶,我推薦 Gentoo 。我的這個看法可能是錯的, Gentoo 可以控制適合設備本身情況的編譯參數,而官方也維護這一個安全加固版本,據說以前豆瓣的服務器也是使用 Gentoo。
對于作為桌面日常使用的用戶,我推薦 Debian。它的任何分支都挺適合長期使用的,不論是 stable、testing、unstable 分支,都能很好的工作。
(本文來源于:Burgess Chang)
- 蜜度索驥:以跨模態(tài)檢索技術助力“企宣”向上生長
- 新能源車技術升級搶先看,ChatGPT崩了引熱議:未來科技如何破局?
- 自動駕駛行業(yè)大洗牌即將結束,小馬智行引領千臺車隊新篇章
- 微軟反壟斷風暴:Office捆綁銷售引質疑,云服務策略遭調查,巨頭陷困境
- 顯卡漲價風暴來襲!NVIDIA/AMD緊急應對,全力加速生產運回本土
- 微軟新目標:用1000億美元打造實用通用AI,未來可期但需謹慎
- 亞馬遜云科技陳曉建預測:未來三年內,生成式AI將引發(fā)云市場新革命
- 林肯中國辟謠:財務調整非合并,業(yè)務不變穩(wěn)如泰山
- 字節(jié)跳動研發(fā)大手筆:2024年投入接近BAT之和,能否引領中國OpenAI新潮流?
- 跨境匯款平臺新舉措:螞蟻集團開發(fā)者服務限每日10萬美元,助力全球交易更便捷
- 我國充電樁建設提速,50%增長背后的高速服務區(qū)充電新篇章
免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現(xiàn)的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。