Gentoo(Gnome + Systemd)安裝教程

(寫在2018年11月11日)

系統(tǒng)環(huán)境:UEFI + GPT

分區(qū)方案:EFI分區(qū)屈暗、swap灸蟆、根分區(qū)

開啟SSH

使用install-amd64-minimal-20181104T214503Z.iso引導(dǎo)開機(jī)(2018年10月之后發(fā)布的最小CD支持UEFI引導(dǎo))

啟動(dòng)ssh服務(wù):rc-service sshd start

passwd設(shè)置root密碼,否則無(wú)法遠(yuǎn)程登錄

分區(qū)

gdisk /dev/sda

3個(gè)分區(qū):EFI分區(qū)发皿,fat32格式崔慧,500M;swap分區(qū)穴墅,和內(nèi)存大小一樣惶室;/分區(qū)温自。

查看硬盤分區(qū)lsblk

格式化分區(qū)

mkfs.vfat -F 32 /dev/sda1

mkswap /dev/sda2

swapon /dev/sda2

mkfs.ext4 /dev/sda3

掛載分區(qū)

mount /dev/sda3 /mnt/gentoo

mkdir /mnt/gentoo/boot

mount /dev/sda1 /mnt/gentoo/boot

安裝stage3包

date(檢查時(shí)間設(shè)置)

date 100313162018(2018年10月3日的13:16)

cd /mnt/gentoo

wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64-systemd/stage3-amd64-systemd-20181108.tar.bz2

(請(qǐng)根據(jù)自己的情況下載相應(yīng)的stage3包)

tar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --numeric-owner

tar xjvf stage3-amd64-systemd-20181108.tar.bz2 --xattrs-include='*.*' --numeric-owner

配置make.conf和Portage Mirror

vim /mnt/gentoo/etc/portage/make.conf

以下參數(shù)在經(jīng)過自己調(diào)整或選擇之后加入到?/mnt/gentoo/etc/portage/make.conf

USE: 首先,你可以刪掉默認(rèn)的USE標(biāo)記,加上-bindist?(不了解USE的情況下建議如此)

CFLAGS: 將CFLAGS修改為CFLAGS="-march=native -O2 -pipe"?或者你也可以指定.例如我的Intel CPU是haswell,將native換成haswell就行(不確定就不要指定).你也可以在這里看到所有可以設(shè)置的值

MAKEOPTS: 根據(jù)你的CPU核心數(shù)設(shè)置MAKEOPTS例如雙四線程設(shè)置為MAKEOPTS="-j4"(這個(gè)數(shù)值要根據(jù)你的CPU核心數(shù)和內(nèi)存來(lái)設(shè)置:CPU物理核心數(shù)*每個(gè)核心線程數(shù)皇钞,每個(gè)GCC的任務(wù)大約需要1—1.5G內(nèi)存悼泌,如果你只有4G內(nèi)存,這里就只能設(shè)置為3了)

GENTOO_MIRRORS: 設(shè)置為GENTOO_MIRRORS="https://mirrors.ustc.edu.cn/gentoo/"?(也可以在后面的步驟使用mirrorselect夹界,選擇速度最快的Mirror)

EMERGE_DEFAULT_OPTS: 設(shè)置為EMERGE_DEFAULT_OPTS="--keep-going --with-bdeps=y"是個(gè)不錯(cuò)的選擇,keep going意為安裝一堆軟件時(shí)遇到編譯錯(cuò)誤自動(dòng)跳過這個(gè)軟件繼續(xù)編譯安裝

FEATURES: 在這里最好寫成# FEATURES="${FEATURES} -userpriv -usersandbox -sandbox",最好在前面加上#注釋掉,在你編譯軟件遇到權(quán)限不足時(shí)去掉注釋即可解決問題(但請(qǐng)務(wù)必注意是不是因?yàn)閞m -rf /* 等命令權(quán)限不足馆里,因?yàn)檎f不定你的ebuild文件被篡改了)

ACCEPT_KEYWORDS: 如果你想用作桌面/學(xué)習(xí)/開發(fā)系統(tǒng)那就務(wù)必加上ACCEPT_KEYWORDS="~amd64",服務(wù)器/工作/家/娛樂用可以忽略

ACCEPT_LICENSE: 加上ACCEPT_LICENSE="*"表示此系統(tǒng)接受所有軟件許可證,即不論非自由還是自由軟件都接受,非商業(yè)用戶基本不需要考慮

L10N: 設(shè)置為L(zhǎng)10N="en-US zh-CN en zh"

LINGUAS: 設(shè)置為L(zhǎng)INGUAS="en_US zh_CN en zh"

VIDEO_CARDS: 根據(jù)你的顯卡類型設(shè)置假如你是NVIDIA單顯卡則設(shè)置為VIDEO_CARDS="nvidia"(閉源驅(qū)動(dòng))VIDEO_CARDS="nouveau"(開源驅(qū)動(dòng)).還有radeon和intel,但如果你是雙顯卡例如Intel+NVIDIA則設(shè)置為VIDEO_CARDS="intel i965 nvidia"(只要不是遠(yuǎn)古的集成顯卡都是用i965),VMware則設(shè)置為VIDEO_CARDS="vmware"

CHOST="x86_64-pc-linux-gnu"(CHOST變量的說明https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable/zh-cn)

GRUB_PLATFORMS: 如果你使用GRUB且使用UEFI啟動(dòng)則添加GRUB_PLATFORMS="efi-64"

CPU_FLAGS_X86=“aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3”


Portage Mirror: 這個(gè)不是make.conf的選項(xiàng).mkdir /mnt/gentoo/etc/portage/repos.conf創(chuàng)建repos.conf目錄并添加如下到/mnt/gentoo/etc/portage/repos.conf/gentoo.conf文件里面(自行選擇速度最快的鏡像站):

[gentoo]

location = /usr/portage

sync-type = rsync

\#sync-uri = rsync://mirrors.tuna.tsinghua.edu.cn/gentoo-portage/

sync-uri = rsync://rsync.mirrors.ustc.edu.cn/gentoo-portage/

auto-sync = yes

選擇鏡像站點(diǎn):

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

(如果在make.conf中定義了GENTOO_MIRRORS變量可柿,這步可以省略)

復(fù)制DNS

cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

掛載必要的文件系統(tǒng)

mount --types proc /proc /mnt/gentoo/proc

mount --rbind /sys /mnt/gentoo/sys

mount --make-rslave /mnt/gentoo/sys

mount --rbind /dev /mnt/gentoo/dev

mount --make-rslave /mnt/gentoo/dev

進(jìn)入新環(huán)境

chroot /mnt/gentoo /bin/bash

source /etc/profile

export PS1="(chroot) ${PS1}"

掛載 boot 分區(qū)

mkdir /boot

mount /dev/sda1 /boot

配置Portage

從網(wǎng)站安裝ebuild 數(shù)據(jù)庫(kù)快照

emerge-webrsync

Optional:?更新Portage ebuild 數(shù)據(jù)庫(kù)

emerge --sync

emerge --ask app-portage/cpuid2cpuflags

cpuid2cpuflags #將輸出值改入CPU_FLAGS_X86

選擇正確的配置文件

eselect profile list

eselect profile set 2

更新@world集合

emerge --ask?--verbose --update --deep --newuse @world

如果碰到未滿足的xxx或者其它提示

emerge -auvDN --with-bdeps=y --autounmask-write @world

etc-update # 然后輸入-3就能更新配置,確保再次運(yùn)行時(shí)沒有可更新的文件

emerge -auvDN --with-bdeps=y @world

如果以上還是不能解決問題,則進(jìn)入/etc/portage目錄刪掉package.use,package.mask和package.unmask文件或目錄再次嘗試

等它跑完了,先別急

運(yùn)行下這幾個(gè)命令:

emerge @preserved-rebuild

perl-cleaner --all

emerge -auvDN --with-bdeps=y @world

配置時(shí)區(qū)

echo "Asia/Shanghai" > /etc/timezone

emerge --config sys-libs/timezone-data

配置地區(qū)

echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen

echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen

locale-gen

eselect locale list

eselect locale set X # X換成上面命令顯示的序號(hào)

這里建議使用英語(yǔ)易于排錯(cuò),之后你可以自行換成中文

~~~~~~~~~~~~~~~~這個(gè)工具生成的參數(shù)比較詳細(xì)~~~~~~~~~~~~~~~~

配置fstab( https://wiki.archlinux.org/index.php/Fstab )

如果你和我一樣懶

可以下載此腳本自動(dòng)配置fstab(引自Arch的genfstab:https://wiki.archlinux.org/index.php/Installation_guide#Mount_the_file_systems):

wget https://raw.githubusercontent.com/YangMame/Gentoo-Installer/master/genfstab

chmod +x genfstab

(可選 cp genfstab /usr/bin/)

./genfstab / > /etc/fstab

nano /etc/fstab #最好檢查下此文件,刪掉無(wú)用掛載點(diǎn)

(上面的腳本在chroot環(huán)境下不能正常使用-U參數(shù)在fstab寫入分區(qū)的UUID)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在/etc/conf.d/hostname內(nèi)修改主機(jī)名,例如:

echo hostname=\"Aardvark\" > /etc/conf.d/hostname

設(shè)置Root密碼

使用passwd命令設(shè)置root密碼鸠踪。

安裝一些必要工具并配置

如果你使用非ext4文件系統(tǒng)則在編譯內(nèi)核前需要另外安裝相應(yīng)的工具:例如fat文件系統(tǒng)所需的sys-fs/dosfstools包。

emerge app-admin/sysklogd sys-process/cronie sudo layman grub sys-fs/dosfstools net-misc/dhcpcd

還需補(bǔ)充

sed -i 's/\# \%wheel ALL=(ALL) ALL/\%wheel ALL=(ALL) ALL/g' /etc/sudoers

如果你是systemd:

sed -i 's/\# GRUB_CMDLINE_LINUX=\"init=\/usr\/lib\/systemd\/systemd\"/GRUB_CMDLINE_LINUX=\"init=\/usr\/lib\/systemd\/systemd\"/g' /etc/default/grub

ln -sf /proc/self/mounts /etc/mtab

systemd-machine-id-setup

配置編譯安裝內(nèi)核

emerge --ask sys-kernel/gentoo-sources

emerge -av genkernel

genkernel --menuconfig all

genkernel --install initramfs

安裝GRUB

如果你是UEFI:

emerge --ask sys-boot/grub:2

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Gentoo

grub-mkconfig -o /boot/grub/grub.cfg

注意趾痘,如果在VMware下安裝慢哈,可能會(huì)遇到安裝錯(cuò)誤

(chroot) livecd / # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Gentoo

Installing for x86_64-efi platform.

Could not prepare Boot variable: No such file or directory

Installation finished. No error reported.

看了一下make.conf,GRUB_PLATFORMS="efi-64"忘了寫永票。

wiki上的解釋如下:(https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Bootloader/zh-cn#Install)

“一些主板制造商似乎只支持EFI系統(tǒng)分區(qū)(ESP)中.EFI文件的?/efi/boot/目錄卵贱。 GRUB安裝程序可以使用?--removable選項(xiàng)自動(dòng)執(zhí)行此操作。 在運(yùn)行以下命令之前驗(yàn)證是否已安裝ESP侣集。 假設(shè)ESP安裝在/boot(如前所述)键俱,執(zhí)行:

grub-install --target=x86_64-efi --efi-directory=/boot --removable使用了這條命令才解決問題”

檢查系統(tǒng)可用性

到了這里你應(yīng)該可以重啟查看系統(tǒng)是否能正常啟動(dòng),然后在安裝桌面

重啟前最好檢查下的東西:

1. boot目錄是否有相應(yīng)文件

2. GRUB是否正確生成配置并顯示內(nèi)核等文件

3. fstab是否正確無(wú)誤

重啟系統(tǒng)

exit

cd

umount -l /mnt/gentoo/dev{/shm,/pts,}

umount -R /mnt/gentoo

reboot

現(xiàn)在進(jìn)入新系統(tǒng),創(chuàng)建一個(gè)管理員并設(shè)置密碼

useradd -m -G users,wheel,portage,usb,video,audio 這里換成你的用戶名(小寫)

passwd 你的用戶名

刪除tar包

當(dāng)Gentoo安裝完畢并且系統(tǒng)已經(jīng)重啟過世分,如果所有事情都完成好了编振,我們現(xiàn)在要從硬盤上刪除下載的stage3的tar包。記住它們下載在/目錄臭埋。

安裝顯示協(xié)議

emerge -av xorg-server

VMware顯卡驅(qū)動(dòng)

emerge -av xf86-video-vmware

GNOME

emerge -av gnome-shell gdm gnome-terminal

systemctl enable gdm

如遇需要更新配置則運(yùn)行etc-update --automode -3并再次運(yùn)行命令

安裝NetworkManager

沒錯(cuò),我很懶,又加上我是KDE桌面用戶,所以我選擇使用NetworkManager連接網(wǎng)絡(luò):

emerge -av networkmanager

如果它說有未滿足的xxxx或者其它提示:

emerge --autounmask-write networkmanager

etc-update --automode -3

emerge networkmanager

添加開機(jī)服務(wù)

systemctl enable NetworkManager

reboot踪央,進(jìn)入Gnome~



安裝過程中可能會(huì)遇到的一些問題:

1、執(zhí)行“emerge -av gnome-shell gdm gnome-terminal”時(shí)提示“Error: circular dependencies: ???”

參考:https://forums.gentoo.org/viewtopic-t-1065574-start-0.html

解決的思路是手動(dòng)安裝相應(yīng)的依賴包瓢阴,并屏蔽相關(guān)的選項(xiàng)畅蹂,例如“USE=-gpm emerge -av1 sys-libs/ncurses”


參考鏈接

Gentoo AMD64 Handbook(https://wiki.gentoo.org/wiki/Handbook:AMD64/zh-cn)

YangMame的blog(https://blog.yangmame.org/Gentoo%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B.html)

(感謝YangMame的教程,受益匪淺~)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末荣恐,一起剝皮案震驚了整個(gè)濱河市液斜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叠穆,老刑警劉巖少漆,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異硼被,居然都是意外死亡示损,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門嚷硫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)屎媳,“玉大人夺溢,你說我怎么就攤上這事≈蛞辏” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵嘉汰,是天一觀的道長(zhǎng)丹禀。 經(jīng)常有香客問我,道長(zhǎng)鞋怀,這世上最難降的妖魔是什么双泪? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮密似,結(jié)果婚禮上焙矛,老公的妹妹穿的比我還像新娘。我一直安慰自己残腌,他們只是感情好村斟,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抛猫,像睡著了一般蟆盹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闺金,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天逾滥,我揣著相機(jī)與錄音,去河邊找鬼败匹。 笑死寨昙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的掀亩。 我是一名探鬼主播舔哪,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼归榕!你這毒婦竟也來(lái)了尸红?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤刹泄,失蹤者是張志新(化名)和其女友劉穎外里,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體特石,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盅蝗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了姆蘸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片墩莫。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡芙委,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出狂秦,到底是詐尸還是另有隱情灌侣,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布裂问,位于F島的核電站侧啼,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏堪簿。R本人自食惡果不足惜痊乾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望椭更。 院中可真熱鬧哪审,春花似錦、人聲如沸虑瀑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)缴川。三九已至茉稠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間把夸,已是汗流浹背而线。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恋日,地道東北人膀篮。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像岂膳,于是被迫代替她去往敵國(guó)和親誓竿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • Gentoo是一個(gè)非常著名的發(fā)行版谈截,在Linux高手中非常流行筷屡。之前我也是被Gentoo的威名震懾了,所以一直沒有...
    樂百川閱讀 5,546評(píng)論 3 2
  • Gentoo安裝過程 (一) 磁盤準(zhǔn)備 1簸喂、硬盤分區(qū) 通過cfdisk分區(qū)工具將硬盤進(jìn)行分區(qū)操作毙死,總計(jì)分為4個(gè)區(qū)如...
    java程序人生閱讀 1,818評(píng)論 0 0
  • 折騰gentoo有段時(shí)間, 趁著放假喻鳄,做做筆記扼倘;根據(jù)官網(wǎng)的 Gentoo Handbook 來(lái)一步步記錄裝gent...
    南方老F閱讀 14,892評(píng)論 3 14
  • 1.Gentoo的安裝過程 進(jìn)入引導(dǎo)按F1,查看引導(dǎo),選擇gentoo除呵,如果安裝在虛擬機(jī)上再菊,先設(shè)置網(wǎng)絡(luò)接口:主機(jī)接...
    0x34Hz閱讀 1,439評(píng)論 0 0
  • 各位linux愛好者和使用者都自己習(xí)慣使用的版本爪喘,本人之前一直使用的是centos7,但是為了裝逼(不錯(cuò)就是這個(gè)理...
    小Gentoo愛好者閱讀 11,325評(píng)論 6 26