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