<kbd id="9plqc"><label id="9plqc"></label></kbd>

        <th id="9plqc"></th>
        1. <center id="9plqc"><video id="9plqc"></video></center>
          <sub id="9plqc"><form id="9plqc"><pre id="9plqc"></pre></form></sub>
          <nav id="9plqc"><form id="9plqc"><legend id="9plqc"></legend></form></nav>
          Gentoo 上手體驗(yàn) 您所在的位置:網(wǎng)站首頁(yè) 屬兔逢虎年運(yùn)勢(shì) Gentoo 上手體驗(yàn)

          Gentoo 上手體驗(yàn)

          2023-07-19 02:02| 來(lái)源: 網(wǎng)絡(luò)整理| 查看: 265

          Gentoo 上手體驗(yàn)

          2020年11月20日 更新時(shí)間: 2021年2月23日 閱讀時(shí)長(zhǎng):11 分鐘

          自我上一篇文章發(fā)布到現(xiàn)在,已經(jīng)過(guò)去六周時(shí)間了。各種新文章的主題和想法在我腦中迸發(fā),把它們寫下來(lái)并發(fā)布的意愿在我心中縈繞,只可惜太忙,而且忙的還是個(gè)竹籃打水一場(chǎng)空,只能在百忙之中匆匆把想法記錄在草稿里,等有空的時(shí)候再寫成正式的文章。現(xiàn)在終于忙完了一批活,難得短暫的清靜,在可能只有寫一篇文章的閑暇時(shí)間的情況下,我決定先把之前首次體驗(yàn) Gentoo 的經(jīng)歷記錄下來(lái)。Gentoo 是一個(gè)源碼級(jí) GNU/Linux 發(fā)行版,最有代表性的特點(diǎn)就是讓用戶自己編譯系統(tǒng)的幾乎所有組件,乃至于 Linux 內(nèi)核也可以自己編譯。

          背景

          我之前一直用的是 Fedora,已經(jīng)用了兩年,用起來(lái)也挺滿意。直到不久前,我的室友把他電腦上的系統(tǒng)換成了 Arch Linux,激發(fā)了我對(duì)其它一些以前聽(tīng)說(shuō)過(guò)卻從沒(méi)仔細(xì)了解過(guò)的發(fā)行版的好奇心。當(dāng)時(shí),他給我展現(xiàn)了 Arch Linux 的一部分安裝過(guò)程,包括使用命令來(lái)給硬盤分區(qū)、以及安裝最基礎(chǔ)的軟件包,讓系統(tǒng)實(shí)現(xiàn)自托管,可以自己?jiǎn)?dòng)。以前裝 Debian 和 Fedora 的時(shí)候,我通過(guò)觀察安裝程序的自定義選項(xiàng)和輸出信息,大概了解了安裝 GNU/Linux 的大體步驟。但是看到類似于 Arch Linux 這樣的安裝方式,每個(gè)安裝過(guò)程中的任務(wù)都要自己輸入命令執(zhí)行,整個(gè)安裝過(guò)程都由自己控制時(shí),我感覺(jué)這樣裝系統(tǒng)十分有趣。

          我在網(wǎng)上找了找相關(guān)的資料,找著找著就找到 Gentoo 去了。Gentoo 和 Arch Linux 有些地方非常相似:都是滾動(dòng)發(fā)行版,都沒(méi)有官方的 GUI 安裝程序,都需要用戶自己輸入一些命令來(lái)安裝,也都允許用戶隨心所欲地自定義一些基礎(chǔ)系統(tǒng)組件。盡管如此,相比于 Arch Linux,Gentoo 還是有一些獨(dú)特之處吸引著我。首先,我之前就曾給樹(shù)莓派編譯過(guò)軟件并制成 RPM,所以自己編譯所有軟件雖有挑戰(zhàn)性,但應(yīng)該在我能力范圍內(nèi)。再者,我看網(wǎng)上對(duì) Gentoo 的軟件包管理器 Portage 的評(píng)價(jià)不錯(cuò)。最吸引我的一個(gè)功能是 Portage 會(huì)維護(hù)一個(gè)純文本的 world 文件,記錄用戶安裝的所有軟件包;將 world 文件復(fù)制到其它運(yùn)行 Gentoo 的電腦上,就可以還原原機(jī)器上安裝的軟件和環(huán)境。

          因?yàn)橹坝幸蛔鳂I(yè)要求用一個(gè)工具,而那個(gè)工具要裝一堆亂七八糟的依賴,我不想把它裝在我日常使用的主系統(tǒng)上污染我的環(huán)境,所以就決定弄一個(gè)虛擬機(jī)。由于對(duì) Gentoo 感興趣,我自然選擇了 Gentoo 作為安裝在虛擬機(jī)里的系統(tǒng)。

          我沒(méi)準(zhǔn)備在虛擬機(jī)里的系統(tǒng)里裝桌面環(huán)境,只要有個(gè)最基礎(chǔ)的命令行和我需要的軟件就夠了。那個(gè)工具也只是個(gè)命令行工具,并且我之前經(jīng)常在終端里干活,所以并不需要圖形化界面。在 Gentoo 里裝桌面環(huán)境反而會(huì)適得其反,因?yàn)樽鳛橐粋€(gè)源碼級(jí)發(fā)行版,安裝桌面環(huán)境就意味著編譯整個(gè)桌面環(huán)境,必然會(huì)顯著增加安裝時(shí)間。加之這是我第一次手動(dòng)安裝一個(gè) GNU/Linux 系統(tǒng),還是從簡(jiǎn)單點(diǎn)的配置入手比較好。

          安裝

          我基本都是參考 Gentoo 手冊(cè)中的步驟安裝的系統(tǒng),但是因?yàn)橄胍恍┳远x配置,所以也參考了一些手冊(cè)以外的 Gentoo Wiki 的內(nèi)容:

          除了 EFI 系統(tǒng)分區(qū)外(我的虛擬機(jī)可以使用 UEFI),我把整個(gè)硬盤剩下的空間劃成了一個(gè) Btrfs 分區(qū)。手冊(cè)給出的建議是給啟動(dòng)分區(qū)(/boot)、交換空間(swap)和根目錄文件系統(tǒng)(root,也就是 /)各分一個(gè)區(qū),但是我給啟動(dòng)分區(qū)、用戶目錄(/home)和根目錄各創(chuàng)建了一個(gè) Btrfs 子卷,就不需要?jiǎng)澐侄鄠€(gè)分區(qū)了。至于交換空間,我準(zhǔn)備效仿 Fedora 33 的改動(dòng),使用 zram。

          從系統(tǒng)恢復(fù)的角度來(lái)說(shuō),Btrfs 很適合用在滾動(dòng)發(fā)行的系統(tǒng)上,因?yàn)榭梢詣?chuàng)建文件系統(tǒng)快照。在系統(tǒng)因?yàn)楦鲁鰡?wèn)題時(shí),回滾到上個(gè)沒(méi)出問(wèn)題的快照,可以輕松還原系統(tǒng)。雖然 LVM 也支持快照功能,但是我覺(jué)得 Btrfs 卷比 LVM 卷組更容易管理。

          手冊(cè)建議使用包括 Gentoo 自己的下游修改和補(bǔ)丁的內(nèi)核源碼(sys-kernel/gentoo-sources),但是我更想編譯無(wú)修改的原版內(nèi)核(sys-kernel/vanilla-sources)。Linux 內(nèi)核團(tuán)隊(duì)稱,如果運(yùn)行命令 uname -r 顯示的內(nèi)核版本結(jié)尾包括發(fā)行版自己加的標(biāo)簽,他們將無(wú)法對(duì)其提供支持,那我們就裝一把編譯出來(lái)之后運(yùn)行 uname -r 就顯示內(nèi)核版本號(hào)的內(nèi)核,體驗(yàn)一下直接編譯純凈上游內(nèi)核源碼的感覺(jué)……

          Gentoo 默認(rèn)安裝的是 LTS 內(nèi)核(5.4),但我想使用最新的穩(wěn)定內(nèi)核(5.9)。想裝最新的穩(wěn)定內(nèi)核的話,需要在 /etc/portage/package.accept_keywords 里定義一條規(guī)則,允許使用 Gentoo 還未標(biāo)為穩(wěn)定的內(nèi)核版本。于此同時(shí),作為搭配,Linux 內(nèi)核頭文件包 sys-kernel/linux-headers 的版本也應(yīng)該是最新版本。由于我選擇了 Btrfs,配套的文件系統(tǒng)工具 btrfs-progs 最好也選用最新版本,這樣就可以使用內(nèi)核提供的最新 Btrfs 功能。

          # /etc/portage/package.accept_keywords # 使用最新的上游穩(wěn)定版內(nèi)核 sys-kernel/vanilla-sources # 使用最新版本的內(nèi)核頭文件 sys-kernel/linux-headers # 使用最新的 btrfs-progs sys-fs/btrfs-progs

          盡管 Gentoo 的默認(rèn) init 系統(tǒng)是 OpenRC,跟著默認(rèn)的配置走對(duì)于第一次安裝 Gentoo 可能也會(huì)容易一些,我還是決定使用 systemd,因?yàn)?systemd 支持用戶級(jí)別的服務(wù),而我沒(méi)找到 OpenRC 中類似的功能。

          Gentoo 手冊(cè)里簡(jiǎn)單介紹了一些 systemd 的注意事項(xiàng)和特殊步驟,但是仍然有些手冊(cè)里沒(méi)強(qiáng)調(diào)的作容易被忘記,比如啟用最基礎(chǔ)的 systemd 系統(tǒng)服務(wù):

          (chroot) # systemctl preset-all

          我在裝好系統(tǒng)重啟前就忘了運(yùn)行這行命令了,然后重啟之后因?yàn)?systemd-networkd.service 沒(méi)啟用,導(dǎo)致無(wú)法聯(lián)網(wǎng)。

          調(diào)試內(nèi)核參數(shù)

          我發(fā)現(xiàn)安裝過(guò)程中最耗時(shí)的一步是編譯內(nèi)核,當(dāng)然這也有可能只是因?yàn)樘摂M機(jī)的性能損耗導(dǎo)致內(nèi)核編譯速度比正常的要慢。縮短內(nèi)核編譯時(shí)間最有效的辦法就是禁用掉沒(méi)有用的內(nèi)核配置選項(xiàng),比如所有您的電腦上沒(méi)有的硬件的驅(qū)動(dòng)。

          但是不得不承認(rèn),Linux 內(nèi)核提供的配置選項(xiàng)太多了,而且許多選項(xiàng)僅憑看名字是看不出它的實(shí)際作用的,導(dǎo)致配置內(nèi)核成為了一項(xiàng)復(fù)雜的工作。我看到 Linux 支持的繁多的硬件種類和數(shù)量后嘆為觀止,感覺(jué) Linux 真是個(gè)偉大的軟件工程,但是要想把它配置好,尤其是把每一個(gè)用不上的硬件支持選項(xiàng)都禁用,實(shí)在是過(guò)于費(fèi)時(shí)費(fèi)力。并且,因?yàn)椴涣私庖恍┻x項(xiàng)的作用,所以也不敢胡亂禁用。

          最后,我決定只禁用那些編譯起來(lái)很費(fèi)時(shí)、并且我可以肯定不需要的選項(xiàng),例如:

          GPU 支持(給英特爾集顯的 i915、radeon、amdgpu、以及給英偉達(dá)顯卡的 nouveau)。這幾個(gè)模塊都需要相當(dāng)長(zhǎng)的時(shí)間編譯。因?yàn)槲矣玫奶摂M機(jī)不會(huì)直接使用電腦的顯卡,而是走虛擬化軟件提供的虛擬顯卡,而虛擬顯卡是由別的模塊支持的,所以這幾個(gè)模塊都可以禁用。但如果是在實(shí)體機(jī)上配置內(nèi)核的話,就得根據(jù)機(jī)器上裝的顯卡,啟用相應(yīng)的模塊了。

          InfiniBand。我都沒(méi)聽(tīng)說(shuō)過(guò)這是什么東西,這次在內(nèi)核配置里是第一次碰到它,所以我估計(jì)這個(gè)東西我根本沒(méi)有,就可以直接禁用。但是,這樣的想法不適合用來(lái)判斷是否該禁用其它類型的內(nèi)核配置選項(xiàng)。比如,默認(rèn)的內(nèi)核配置會(huì)啟用一些系統(tǒng)調(diào)用的支持,但我肯定不會(huì)僅僅因?yàn)闆](méi)聽(tīng)說(shuō)過(guò)一個(gè)系統(tǒng)調(diào)用就禁用它,因?yàn)橛械能浖赡苄枰@些特殊的系統(tǒng)調(diào)用。

          根據(jù)實(shí)際的硬件配置,可能還有一些硬件相關(guān)的選項(xiàng)可以安全禁用。比如,如果在一臺(tái)沒(méi)有 Wi-Fi、藍(lán)牙和 NFC 之類的無(wú)線設(shè)備上配置內(nèi)核,就可以把相應(yīng)的硬件支持都關(guān)掉。如果是沒(méi)有 NVMe 的老電腦,NVMe 也可以禁用。

          不過(guò),我在網(wǎng)上找到了一個(gè)各主流 CPU 型號(hào)上的內(nèi)核編譯時(shí)間的匯總,如果里面的信息準(zhǔn)確的話,那在目前常見(jiàn)的 CPU,甚至是英特爾前幾年擠牙膏擠出的低壓雙核筆記本 CPU 上,編譯內(nèi)核所需的時(shí)間也不過(guò)是十分鐘左右。我還沒(méi)在我電腦上虛擬機(jī)以外的環(huán)境編譯過(guò)內(nèi)核,還想像不出十分鐘編譯完內(nèi)核是什么體驗(yàn)。(**更新:**后來(lái)我發(fā)現(xiàn)是我對(duì)上面鏈接里的數(shù)據(jù)的理解有誤,它匯總的時(shí)間是編譯內(nèi)核本身的耗時(shí)(也就是 make vmlinux 或類似的命令的運(yùn)行時(shí)間),不包括內(nèi)核模塊的編譯時(shí)間。然而,在使用兼容主流硬件的通用內(nèi)核配置編譯內(nèi)核的時(shí)候,編譯的大部分時(shí)間都是花在內(nèi)核模塊上。這也就導(dǎo)致了我后來(lái)在我的低壓雙核 Core i5-7200U 筆記本實(shí)機(jī)上編譯內(nèi)核的時(shí)候,內(nèi)核自身可以在 9 分鐘左右構(gòu)建好,但加上內(nèi)核模塊后總編譯時(shí)長(zhǎng)可達(dá)一小時(shí)。)但如果真是這樣的話,鉆研并關(guān)閉無(wú)用的內(nèi)核配置選項(xiàng)花的時(shí)間可能不及由此省下的編譯時(shí)間。這種情況下,可以考慮直接用一個(gè)兼容主流硬件的內(nèi)核配置,比如 genkernel 生成的配置。

          使用 ebuild

          在 Portage 中,一個(gè) ebuild 文件定義了一個(gè)軟件包。ebuild 之于 Gentoo,等同于 PKGBUILD 之于 Arch Linux、RPM SPEC 之于 Fedora,CentOS,RHEL 等。我還沒(méi)有嘗試過(guò)像當(dāng)時(shí)給 Fedora 做樹(shù)莓派的 userland 軟件包的 RPM 那樣自己寫 ebuild 文件,但是就我使用 Gentoo 官方提供的 ebuild 的經(jīng)歷而言,我感覺(jué) Portage 基于 ebuild 的設(shè)計(jì)思路是很不錯(cuò)的。

          之前提到,我選用了 Btrfs 并且想基于 Btrfs 快照做一套系統(tǒng)恢復(fù)方案,故準(zhǔn)備使用 Snapper 自動(dòng)捕獲快照。當(dāng)時(shí) Snapper 上游的最新版本是 0.8.14,但是 Gentoo 軟件倉(cāng)庫(kù)里的最新版本才到 0.8.9。

          我在維護(hù) userland 和其它一些桌面 GUI 應(yīng)用的 RPM SPEC 時(shí),如果遇到上游軟件更新,一般只需要在 RPM SPEC 里改一下版本號(hào),就可以順利創(chuàng)建新版軟件的 RPM 包了,因此決定在 Snapper 的 ebuild 上也嘗試一下。令我驚奇的是,在 Gentoo 上同步上游軟件的更改,唯一需要做的就是把 ebuild 改個(gè)名,因?yàn)?Portage 軟件包的版本是直接在 ebuild 的文件名中定義的。我僅僅需要把 snapper-0.8.9-r1.ebuild 改名成 snapper-0.8.14.ebuild 就可以安裝 Snapper 0.8.14 了!

          如果我要在 Fedora 上像安裝官方包一樣安裝我自己做的 RPM 的話,我會(huì)用我做的 SPEC 文件把 RPM 構(gòu)建出來(lái),將其復(fù)制到專門存放我自制的 RPM 的的自定義軟件倉(cāng)庫(kù)中,然后就可以像安裝普通軟件那樣安裝了。但是 SPEC 文件必須單獨(dú)保存,因?yàn)闃?gòu)建出的 RPM 里是沒(méi)有 SPEC 的。如果我到后面想修改 SPEC 文件的話,我就得找到當(dāng)初保存 SPEC 的地方,然后進(jìn)行修改,重新構(gòu)建 RPM,最后再次將其復(fù)制到自定義軟件倉(cāng)庫(kù)里。

          但如果是用 Gentoo 的話,整個(gè)過(guò)程就十分流暢:我寫好 ebuild 后,不需要什么構(gòu)建,直接將 ebuild 自身放到我的自定義軟件倉(cāng)庫(kù)就行了。日后進(jìn)行更改時(shí),我可以在倉(cāng)庫(kù)里直接修改 ebuild,不用到別處尋找。與軟件包相關(guān)的所有文件都可以統(tǒng)一存在軟件倉(cāng)庫(kù)里,不用四處存放。

          為了對(duì)比在 Fedora 和 Gentoo 上維護(hù)自定義軟件包的流程,我做了一個(gè)表格。可以發(fā)現(xiàn),作為一個(gè)源碼級(jí)發(fā)行版的軟件包管理器,Portage 對(duì)自定義軟件包更加友好。得益于此,在 Gentoo 上維護(hù)自定義軟件包是不需要任何額外的構(gòu)建步驟的。

          任務(wù) Fedora 上的步驟 Gentoo 上的步驟 定義軟件包元數(shù)據(jù)以及構(gòu)建流程 編寫 RPM SPEC 編寫 ebuild 構(gòu)建軟件包 rpmbuild -bb SPEC 不需要(在使用 emerge 安裝軟件包時(shí)自動(dòng)執(zhí)行) 將軟件包加至自定義軟件倉(cāng)庫(kù) 將構(gòu)建出的 RPM 復(fù)制到倉(cāng)庫(kù)中 將 ebuild 復(fù)制到倉(cāng)庫(kù)中 安裝軟件包 dnf install PKG emerge --ask PKG 增加軟件包版本號(hào) 在 RPM SPEC 中修改軟件版本 重命名 ebuild 文件 構(gòu)建新版軟件包 rpmbuild -bb SPEC 不需要(在使用 emerge 升級(jí)軟件包時(shí)自動(dòng)執(zhí)行) 更新自定義軟件倉(cāng)庫(kù)中的軟件包 將新的 RPM 復(fù)制到倉(cāng)庫(kù)中 已經(jīng)完成(在重命名 ebuild 時(shí)已完成) 安裝新版軟件包 dnf upgrade PKG emerge --ask --update PKG

          如果需要更多有關(guān)創(chuàng)建自定義 ebuild 倉(cāng)庫(kù)的信息,可以參閱這篇 Gentoo Wiki 文章(英文)。其中的“simple version bump”部分 描述的就是我如何在 Gentoo 最新的 Snapper 版本還是 0.8.9 時(shí)構(gòu)建并安裝 0.8.14。您還可以考慮提高您的自定義倉(cāng)庫(kù)的優(yōu)先級(jí),這樣 Portage 就會(huì)優(yōu)先選擇您自定義的軟件包了。

          # /etc/portage/repos.conf/local.conf [local] location = /var/db/repos/local priority = -999 # Gentoo 官方倉(cāng)庫(kù)的優(yōu)先級(jí)是 -1000 建議

          因?yàn)槲疫€沒(méi)有將 Gentoo 作為日常使用的系統(tǒng),這次在虛擬機(jī)里也沒(méi)裝桌面環(huán)境和一些主流軟件,只裝了 Git、Vim 和 tmux,所以我很難負(fù)責(zé)任地給出適合用 Gentoo 的人群,但這次短暫的 Gentoo 初體驗(yàn)應(yīng)該還是能讓我感受出大概什么樣的人比較適合使用 Gentoo。

          Gentoo 對(duì)于以下幾種用戶群體而言是絕佳的選擇:

          需要自己構(gòu)建小眾軟件包或者軟件包最新版本,并且想用系統(tǒng)的軟件包管理器管理它們的人群。比如,我之前尋找樹(shù)莓派 USB 接口問(wèn)題的解決方案時(shí),找到了一個(gè)網(wǎng)站 http://rglinuxtech.com/,那個(gè)網(wǎng)站的站長(zhǎng)似乎就很喜歡自己編譯 Linux 的 rc 內(nèi)核。如果他想用系統(tǒng)的軟件包管理器來(lái)管理 rc 內(nèi)核的話,Gentoo 可能是不二之選。

          當(dāng)然,您也完全可以選擇自己管理自己構(gòu)建的軟件,但是這種方式的難點(diǎn)在于記錄每個(gè)軟件包都有哪些文件,倘若記錄不準(zhǔn)確就可能造成卸載軟件時(shí)有文件殘留。GNU Stow 是一個(gè)解決方案,但每次修改已安裝的軟件后都需要手動(dòng)調(diào)用該程序。利用 Portage 和自定義 ebuild 文件,就可以讓整個(gè)軟件自構(gòu)建過(guò)程更順暢:寫一個(gè) ebuild(基本就是寫一個(gè)自動(dòng)構(gòu)建并安裝軟件的腳本),然后運(yùn)行 emerge,剩下的就全部交給 Portage。

          使用與 Gentoo 的哲學(xué)比較類似的發(fā)行版(如 Arch Linux),但希望通過(guò)優(yōu)化編譯器選項(xiàng)提升軟件運(yùn)行性能、或者是想擺脫 systemd,使用 OpenRC 代替的用戶。如今,systemd 的身影已經(jīng)出現(xiàn)在了絕大多數(shù)主流 GNU/Linux 發(fā)行版中,就連給予用戶很大系統(tǒng)組件選擇權(quán)的 Arch Linux 都宣稱只官方支持 systemd。

          有一定的 GNU/Linux 基礎(chǔ)知識(shí),想要繼續(xù)深入研究、了解作系統(tǒng)內(nèi)部原理的人群。就拿我自己的經(jīng)歷來(lái)說(shuō),在配置 Linux 內(nèi)核選項(xiàng)的過(guò)程中,我對(duì)內(nèi)核提供的功能以及內(nèi)核模塊有了一定的了解。除了 Gentoo 外,可能沒(méi)有其它主流發(fā)行版能夠給予我研究這些東西的動(dòng)機(jī)了。

          下列用戶群體在決定使用 Gentoo 前應(yīng)三思而行:

          準(zhǔn)備給一臺(tái)硬件資源匱乏的電腦裝系統(tǒng)的用戶。在性能比較羼弱的 CPU 上,比如我樹(shù)莓派的 ARM 芯片和虛擬機(jī)的虛擬 CPU,內(nèi)核編譯動(dòng)輒就是一個(gè)或幾個(gè)小時(shí)。如果您的存儲(chǔ)容量不是很富裕,構(gòu)建過(guò)的軟件包的源代碼占據(jù)的若干 G 的空間就會(huì)十分顯著。我這個(gè) Gentoo 系統(tǒng)只有幾個(gè)自己裝的軟件,沒(méi)有裝桌面環(huán)境,所有安裝的軟件包的源碼占用 1223 MiB,而 Linux 5.9.8 的代碼占據(jù) 1074 MiB。倘若我裝了桌面環(huán)境的話,占據(jù)的空間還會(huì)更多。

          $ du -s -B M /var/cache/distfiles /usr/src/linux-5.9.8 1223M /var/cache/distfiles 1074M /usr/src/linux-5.9.8

          Gentoo 將構(gòu)建軟件包的任務(wù)交給了用戶,而其它的二進(jìn)制機(jī)器碼發(fā)行版就相當(dāng)于為用戶編譯好了所有的程序。選用一個(gè)普通的發(fā)行版就相當(dāng)于讓其他人幫您完成編譯這一苛求性能的作,在您自己的電腦性能一般的情況下可能是個(gè)明智的選擇。

          剛開(kāi)始接觸 GNU/Linux 和/或軟件構(gòu)建和編譯的人群。雖然配置和使用 Gentoo 的過(guò)程可以讓您學(xué)到很多東西,但這也是建立在已經(jīng)有了些 GNU/Linux 的基礎(chǔ)知識(shí)、技能和理解的前提下。這種情況下,我建議先從一個(gè)容易安裝和維護(hù)的 GNU/Linux 發(fā)行版入手,然后等到哪一天覺(jué)得安裝 Arch Linux 不是什么大問(wèn)題時(shí),就可以考慮換到 Gentoo 了。

          標(biāo)簽: Gentoo、 GNU/Linux

          分類: 博客



          【本文地址】

          公司簡(jiǎn)介

          聯(lián)系我們

          今日新聞

          推薦新聞

          專題文章
            CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有
            黄色免费网站在线看,韩国精品在线观看,韩国美女一区二区,99国产热 乌拉特中旗| 团风县| 五原县| 镇安县| 来宾市| 绥化市| 乌恰县| 诸城市| 新晃| 仪陇县| 瑞丽市| 大冶市| 桂林市| 阿合奇县| 长乐市| 修水县| 寻乌县| 沈阳市| 朔州市| 台东市| 昌黎县| 天峻县| 乌鲁木齐市| 杨浦区| 延吉市| 尚义县| 宜兰市| 临沭县| 新化县| 阳信县| 唐山市| 长寿区| 建德市| 正安县| 巴林左旗| 彭山县| 贞丰县| 甘洛县| 灵台县| 突泉县| 搜索| http://444 http://444 http://444 http://444 http://444 http://444