准备工作 制作启动盘 官方镜像Minimal CD Stage 国内加速清华大学开源软件镜像站 中国科技大学开源镜像站
使用Rufus制作启动U盘.
连接网络 Linux配置网络及SSH配置
参考 Linux配置网络及SSH配置
分区规划 Linux硬盘分区
参考 Linux硬盘分区
挂载分区 1 2 3 4 5 6 7 8 mkdir /mnt/gentoomount /dev/sdx? /mnt/gentoo mkdir /mnt/gentoo/homemount /dev/sdx? /mnt/gentoo/home mkdir /mnt/gentoo/bootmount /dev/sdx? /mnt/gentoo/boot mkdir /mnt/gentoo/boot/efimount /dev/sdx? /mnt/gentoo/boot/efi
配置Portage 释放stage 1 2 3 4 5 6 7 8 links http://www.gentoo.org/main/en/mirrors.xml scp stage3-amd64-*.tar.xz root@192.168.0.2:/mnt/gentoo cd /mnt/gentootar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --numeric-owner
挂载系统必要环境 1 2 3 4 5 6 7 mount --types proc /proc /mnt/gentoo/proc mount --rbind /sys /mnt/gentoo/sys mount --rbind /dev /mnt/gentoo/dev mount --rbind /run /mnt/gentoo/run
复制DNS 1 cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
配置软件源 常规源 选择中国源,这一步是非必须的,提供的/etc/portage/make.conf
里已经有中国的所有源了
1 mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
创建主仓库 1 2 3 4 5 6 7 8 9 10 11 mkdir -p -v /mnt/gentoo/etc/portage/repos.conf cp -v /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf # 加入中国源 nano -w /mnt/gentoo/etc/portage/repos.conf/gentoo.conf: ## 源地址 sync-uri = rsync://mirrors.tuna.tsinghua.edu.cn/gentoo-portage/ #sync-uri = rsync://rsync.mirrors.ustc.edu.cn/gentoo-portage/ #sync-uri = rsync://mirrors.yun-idc.com/gentoo-portage/
二进制源 1 2 3 4 5 6 7 8 9 10 11 12 13 14 nano -w /etc/portage/binrepos.conf/gentoobinhost.conf [gentoobinhost] priority = 1 sync-uri = https://mirrors.tuna.tsinghua.edu.cn/gentoo/releases/amd64/binpackages/23.0/x86-64/
如果启用二进制源需要在USE
中添加 getbinpkg binpkg-request-signature
生成fstab 1 genfstab -U /mnt/gentoo >> /mnt/gentoo/etc/fstab
生成的fstab格式如下
1 2 3 UUID=...... /boot/efi vfat noauto,defaults,noatime,umask =0077 0 2 UUID=...... / xfs defaults,noatime 0 1 UUID=...... /home xfs noatime,discard
系统配置 进入新系统环境 从现在开始,所有的动作将立即在新 Gentoo Linux 环境里生效。
1 2 3 4 chroot /mnt/gentoo /bin/bashenv-update source /etc/profileexport PS1="(chroot) ${PS1} "
同步stage
^注意 : gentoo handbook上提到可以使用emerge -rsync升级软件包数据库到最近2小时的最新版,这是没有必要的,而且下载的速度会极其慢,所以不推荐这样做。单用emerge-webrsync就可以同步数据库到最近3~4天内的最新版了。
设置profile 1 2 eselect profile list eselect profile set X
检测cpu指令集 1 2 3 4 5 6 7 emerge --ask app-portage/cpuid2cpuflags cpuid2cpuflags echo "*/* $(cpuid2cpuflags) " > /etc/portage/package.use/00cpu-flags
安装CCache(可选,加速编译) 1 2 3 4 emerge --ask ccache mkdir -p /var/cache/ccachechown root:portage /var/cache/ccache -Rchmod 2775 /var/cache/ccache -R
在portage/make.conf中添加
1 2 3 4 FEATURES="ccache -test" CCACHE_DIR="/var/cache/ccache" USE="... ${FEATURES} "
安装Aria2(可选,加快包下载)
在portage/make.conf中添加配置
1 2 3 4 5 6 7 DISTDIR="/var/cache/distfiles" FETCHCOMMAND="/usr/bin/aria2c -d \${DISTDIR} -o \${FILE} \ --allow-overwrite=true --max-tries=5 --max-file-not-found=2 \ --max-concurrent-downloads=5 --connect-timeout=5 --timeout=5 \ --split=5 --min-split-size=2M --lowest-speed-limit=20K \ --max-connection-per-server=9 --uri-selector=feedback \${URI}" RESUMECOMMAND="${FETCHCOMMAND}"
配置编译选项 1 nano /mnt/gentoo/etc/portage/make.conf
^注意 : 设置编译标志 -march=native (如果你知道自己处理器的代号,就用自己的处理器代号替换这里的native 比如我的是skylake,如果不确定就使用native)^注意 : 设置 MAKEOPTS=”-j8” 来定义安装软件时并行编译的数量 这个数字等于你的CPU线程数(也称为逻辑CPU数)参考MAKEOPTS WiKi
完整的配置文件如下(转自Gentoo安装流程分享(step by step),第一篇之基本系统的安装 ,修改了下注释格式,删除不用的部分)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 COMMON_FLAGS="-march=skylake -O2 -pipe" CFLAGS="${COMMON_FLAGS} " CXXFLAGS="${COMMON_FLAGS} " FCFLAGS="${COMMON_FLAGS} " FFLAGS="${COMMON_FLAGS} " MAKEOPTS="-j8" PORTDIR="/var/db/repos/gentoo" DISTDIR="/var/cache/distfiles" PORTAGE_TMPDIR="/tmp" LC_MESSAGES=C GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo" EMERGE_DEFAULT_OPTS="--keep-going --with-bdeps=y --quiet --ask --verbose" AUTO_CLEAN="yes" ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" L10N="en-US zh-CN en zh" LINGUAS="en_US zh_CN en zh" VIDEO_CARDS="intel i965 iris nvidia" ALSA_CARDS="hda_intel" INPUT_DEVICES="libinput synaptics" GRUB_PLATFORMS="efi-64" FEATURES="" DESK_ENV="-gnome -gnome-shell -gnome-keyring -nautilus -kde icu" FUCKSV="-bindist -mdev elogind -oss -grub -plymouth -consolekit" SOFTWARE="sudo -icu client git openmp minizip udev blkid efi hwdb smack \ acpi ccache dbus policykit udisks" AUDIO="alsa jack pulseaudio" NET="network networkmanager connection-sharing wifi http2 dhclient \ -dhcpcd policykit nftables" VIDEO="X vulkan layers glamor nvidia gallium" ELSE="cjk emoji" USE="${DESK_ENV} ${FUCKSV} ${SOFTWARE} ${AUDIO} ${NET} ${VIDEO} ${ELSE} ${CCACHE} "
永久禁用nouveau驱动模块 强烈要求你禁用Nouveau驱动!!能省掉以后很多莫名其妙的麻烦!
1 2 3 4 5 6 7 mkdir /etc/modprobe.d/nano -w /etc/modprobe.d/blacklist.conf blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0
即便在编译内核前就已经设置内核禁用Nouveau驱动了,但是内核安装时还是会默认把nouveau驱动作为内核模块自动加载。启用了nouveau驱动模块的内核会出现各式各样的莫名其妙的数不清的问题,所以为了避免以后出现这些问题,必须禁用nouveau模块。
内核配置和编译 安装内核源码
1 2 3 4 5 emerge --ask sys-kernel/gentoo-sources eselect kernel list eselect kernel set 1
某些驱动程序在工作之前需要在系统上安装其他固件。这通常是网络接口的情况,尤其是无线网络接口。此外,在使用开源驱动程序时,来自AMD,Nvidia和Intel等供应商的现代视频芯片通常需要外部固件文件。大多数固件都封装在sys-kernel / linux-firmware 中:
1 emerge --ask --quiet sys-kernel/linux-firmware
除了独立显卡硬件和网络接口之外,CPU 可能也需要固件更新。通常这种固件被称为微码(microcode) 。有时需要更新版本的微码来修补 CPU 硬件中的不稳定性、安全问题或其他复杂的错误。
AMD CPU 的微码更新在前面提到的 sys-kernel/linux-firmware 软件包内分发。Intel CPU 的微码可以在 sys-firmware/intel-microcode 包中找到,并且需要单独安装
1 2 emerge --ask sys-firmware/intel-microcode
三种方法安装内核
安装系统时可选择安装二进制内核,系统安装完后再配置编译内核,参考 配置Linux内核 - Gentoo Wiki
全自动安装
当为基于 amd64 的系统安装和编译内核时,Gentoo 推荐使用 sys-kernel/gentoo-sources 软件包
1 emerge --ask sys-kernel/installkernel
混合安装(推荐方式)
生成内核配置文件
将genkernel的默认内核配置文件“generated-config”复制过来,里面已经设置好了绝大部分应用场景以及绝大部分硬件驱动的配置,非常方便,值得借过来使用,只需要在自己手动配置内核的时候将其加载,在其基础上做一点点轻微的修改或完全不修改都可以,对内核新手极其友好!
1 2 3 4 5 6 7 8 9 10 emerge --ask sys-kernel/genkernel cp /usr/share/genkernel/arch/x86_64/generated-config /usr/src/linux/cp /usr/src/linux/generated-config /usr/src/linux/generated-config.bak genkernel --mountboot --install all
^注意 如果想在以后支持jack低延迟实时音频组件(Jack-Audio-Connection-Kit),则需要vim generated-config,手动设置“CONFIG_CGROUPS=y”、“CONFIG_CGROUP_SCHED=y”、“CONFIG_RT_GROUP_SCHED=y”,然后重新make menuconfig载入保存generated-config一遍,接下来再编译内核。^注意 : 使用nvidia显卡闭源驱动,需要将内核配置中“CONFIG_I2C_NVIDIA_GPU”这一项禁用,否则会和官方nvidia-drivers冲突!!!
全手动安装
1 2 3 4 5 emerge sys-apps/pciutils cd /usr/src/linuxmake menuconfig
![[Gentoo安装/IMG-20241210170128644.png]] 有些内核选项是必须的,必须编译到内核中,而不是作为模块加载。*
表示包括到内核中,M
表示作为模块加载,[]
只有包括到内核中和排除在外两种选项,<>
则有包括到内核中、排除在外和以模块加载三种选项。下面这些选项都必须以*
方式编译到内核中。
devtmpfs支持。
1 2 3 4 Device Drivers ---> Generic Driver Options ---> [*] Maintain a devtmpfs filesystem to mount at /dev [*] Automount devtmpfs at /dev, after the kernel mounted the rootfs
SCSI磁盘支持。
1 2 3 Device Drivers ---> SCSI device support ---> <*> SCSI disk support
选择支持的文件系统。因为ESP分区用的FAT32格式化的,根目录用的XFS格式化的,所以这里这两项(FAT32也就是VFAT)必须包括到内核中,虚拟内存和proc文件系统也是必选的 。其实这里还可以取消掉不需要的文件系统,但是对于新手不建议取消任何自己不明白的东西,很容易弄的最后内核没办法启动。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 File systems ---> < > Second extended fs support < > The Extended 3 (ext3) filesystem <*> The Extended 4 (ext4) filesystem < > Reiserfs support < > JFS filesystem support < > XFS filesystem support < > Btrfs filesystem support DOS/FAT/NT Filesystems ---> <*> MSDOS fs support <*> VFAT (Windows-95) fs support Pseudo Filesystems ---> [*] /proc file system support [*] Tmpfs virtual memory file system support (former shm fs)
如果处理器是多核的,还需要开启SMP(对称多处理器支持)。
1 2 Processor type and features ---> [*] Symmetric multi-processing support
USB也必须启用
1 2 3 4 5 6 7 8 9 10 11 Device Drivers ---> HID support ---> -*- HID bus support <*> Generic HID driver [*] Battery level reporting for HID devices USB HID support ---> <*> USB HID transport layer [*] USB support ---> <*> xHCI HCD (USB 3.0) support <*> EHCI HCD (USB 2.0) support <*> OHCI HCD (USB 1.1) support
系统体系相关的内核配置
因为选择了multlib,所以32和64位的程序都会安装。为了支持32位程序,必须启用32位程序模拟功能。这里其实倒是不用怎么改,默认已经都选上了。
1 2 3 4 5 6 7 8 9 10 11 12 Processor type and features ---> [*] Machine Check / overheating reporting [*] Intel MCE Features [*] AMD MCE Features Processor family (AMD-Opteron/Athlon64) ---> ( ) Opteron/Athlon64/Hammer/K8 ( ) Intel P4 / older Netburst based Xeon ( ) Core 2/newer Xeon ( ) Intel Atom (*) Generic-x86-64 Binary Emulations ---> [*] IA32 Emulation
启用GPT支持,因为前面我用的GPT分区表,EFI启动方式,所以这两项也必须启用。
1 2 3 4 -*- Enable the block layer ---> Partition Types ---> [*] Advanced partition selection [*] EFI GUID Partition support
EFI的支持。
1 2 3 4 5 6 7 8 Processor type and features ---> [*] EFI runtime service support [*] EFI stub support [*] EFI mixed-mode support Firmware Drivers ---> EFI (Extensible Firmware Interface) Support ---> <*> EFI Variable Support via sysfs
1 2 3 4 # 编译内核 make -j12 #(CPU核心数根据机器cpu调整) make modules_install make install
使用二进制内核
1 2 emerge --ask sys-kernel/gentoo-kernel-bin
可选:生成一个initramfs
在某些情况中需要建立一个initramfs——一个基于内存的初始化文件系统。最觉的原因是当重要的文件系统位置(如/usr/或/var/)在分离的分区。通过一个initramfs,这些分区可以使用initramfs里面的工具来完成挂载。
用dracut生成内核的initramfs,快速且方便,新手友好
1 2 3 4 5 emerge --ask sys-kernel/dracut cd /bootdracut --hostonly
或者使用genkernel生成内核的initramfs
1 2 cp /usr/src/linux/generated-config /etc/kernels/kernel-config-<内核版本号>-gentoo-x86_64genkernel --install initramfs
系统环境配置 配置主机名 1 2 3 4 echo "HOSTNAME" > /etc/hostname
配置系统时区 1 2 3 4 5 6 7 8 ls /usr/share/zoneinfoecho "Asia/Shanghai" > /etc/timezonesudo rm /etc/localtimesudo ln -sv /usr/share/zoneinfo/Universal /etc/localtimesudo emerge --config sys-libs/timezone-data
配置编码 1 2 3 4 5 6 7 8 nano -w /etc/locale.gen en_US ISO-8859-1 en_US.UTF-8 UTF-8 zh_CN GBK zh_CN.UTF-8 UTF-8 locale-gen
设置系统locale 1 2 3 4 5 6 7 8 eselect locale list eselect locale set X env-update && source /etc/profile && export PS1="(chroot) ${PS1} "
配置sudo自动补全 1 2 3 4 5 6 sudo emerge --ask app-shells/bash-completionsudo vim /etc/protage/make.confUSE="... bash-completion" sudo emerge --avuDN world
安装网络工具 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 emerge --ask net-wireless/iw emerge --ask net-wireless/wpa_supplicant emerge --ask net-misc/netifrc emerge --ask net-dialup/ppp cd /etc/init.d/ln -s net.lo net.eno1 rc-update add net.eno1 default
![[Gentoo安装/IMG-20241210170128726.png]] 安装配置networkmanager
最方便支持多种联网方式的工具是NetworkManager,基本满足所有需求,但同时它的依赖有点多。如果使用桌面换进的话建议安装。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 nano -w /etc/portage/make.conf: USE=“networkmanager connection-sharing dhclient policykit ppp wifi -dhcpcd” emerge net-misc/networkmanager nano -w /etc/dhcp/dhclient.conf: send host-name "Gentoo" nano -w /etc/NetworkManager/NetworkManager.conf [connectivity] uri=http://nmcheck.gnome.org/check_network_status.txt nano -w /etc/NetworkManager/NetworkManager.conf [main] plugins=keyfile dns=dnsmasq hostname-mode=none rc-update del dhcpcd rc-update add NetworkManager default nano -w /etc/dnsmasq.conf: server=114.114.114.114
安装必要的工具 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 emerge --ask app-admin/sysklogd rc-update add syslogd default emerge --ask sys-process/cronie rc-update add cronie default emerge --ask sys-apps/mlocate emerge --ask sys-power/acpid rc-update add acpid default emerge sys-power/thermald rc-update add thermald default emerge virtual/udev emerge --oneshot sys-fs/eudev rc-update add udev sysinit
配置系统用户 安装sudo
1 2 3 emerge app-admin/sudo nano -w /etc/sudoers
把 %wheel ALL=(ALL) ALL
这一行去掉注释,如果希望执行sudu不需要密码则取消注释%wheel ALL=(ALL) NOPASSWD:ALL
添加用户
1 2 useradd -m -G users ,wheel,usb,portage,video,audio -s /bin/bash [用户名] chmod 700 /home/[用户名] -R
设置密码
1 2 3 4 passwd root passwd {用户名}
添加操作系统启动项 在/etc/portage/make.conf
中添加grub配置
安装grub2
1 2 emerge --ask sys-boot/grub:2 emerge --ask sys-boot/os-prober
grub安装到硬盘并生成开机启动项
1 2 grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Gentoo grub-mkconfig -o /boot/grub/grub.cfg
1 mount -o remount,rw /sys/firmware/efi/efivarsos-prober
如果出现No space left on device,请运行以下命令,之后再重复上述步骤
1 2 mount -t efivarfs efivarfs /sys/firmware/efi/efivars rm /sys/firmware/efi/efivars/dump-*
grub默认配置添加自定义配置,可提高intel cpu的稳定性和性能
1 2 3 4 nano -w /etc/default/grub: GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=0 processor.max_cstate=1" grub-mkconfig -o /boot/grub/grub.cfg
清理 1 2 3 4 5 6 7 8 9 10 11 12 rm /stage3-*.tag.geexit umount -lR /mnt/gentoo reboot grub-mkconfig -o /boot/grub/grub.cfg
如果开机不正常参考挂载文件系统(不要执行分区和mkfs操作),可重新chroot进入系统修改错误的配置。
桌面环境 安装基础环境 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 emerge --ask x11-base/xorg-drivers emerge --ask media-libs/mesa emerge --ask x11-drivers/nvidia-drivers emerge --ask x11-base/xorg-server emerge --ask x11-apps/xrandr rm /etc/X11/xorg.conf && nvidia-xconfig --prime env-update && source /etc/profile
^注意 : 以后每次重新编译安装内核kernel后,均须要运行一遍“emerge @module-rebuild”,重新编译安装nvidia驱动模块加载到内核之中,否则nvidia驱动无法加载!!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 lsmod | grep nvidia sudo rmmod nvidiasudo modprobe nvidialsmod|grep nvidia sudo vim /etc/modules-load.d/nvidia.conf:nvidia sudo vim /etc/modprobe.d/nvidia-drm.conf:options nvidia-drm modeset=1 sudo rc-update add modules bootsudo reboot
LightDM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 sudo emerge --ask x11-misc/lightdm echo XSESSION=\"awesome\" > /etc/env.d/90xsessionenv-update && source /etc/profile nano -w /etc/conf.d/display-manager DISPLAYMANAGER="lightdm" rc-update add display-manager default rc-update add dbus default rc-service dbus start rc-service display-manager start systemctl enable lightdm.service
KDE 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 emerge --ask x11-misc/sddm emerge --ask kde-plasma/plasma-meta emerge --ask kde-misc/latte-dock nano -w /etc/conf.d/display-manager DISPLAYMANAGER="sddm" rc-update add xdm default rc-service xdm start Rsystemctl enable xdm systemctl start xdm
Awesome 1 2 3 4 5 6 7 8 9 10 11 12 13 emerge --ask x11-wm/awesome mkdir -p ~/.config/awesome/cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.luaawesome -k emerge --ask media-gfx/feh theme.wallpaper_cmd = { "wesetbg -f .config/awesome/themes/awesome-wallpaper.png" }
Mate 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 eselect profile list eselect profile set 0 emerge -auvDU @world emerge --ask mate-base/mate nano -w /etc/env.d/90xsession XSESSION="Mate" nano -w /etc/conf.d/display-manager DISPLAYMANAGER="lightdm"
Xfce 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 emerge --ask xfce-base/xfce4-meta startxfce4 emerge --ask xfce-extra/xfce4-volumed-pulse emerge --ask xfce-extra/xfce4-pulseaudio-plugin emerge --ask xfce-extra/xfce4-taskmanager emerge --ask xfce-extra/xfce4-power-manager xfce-extra/xfce4-battery-plugin emerge --ask x11-themes/xfwm4-themes emerge --ask x11-terms/xfce4-terminal emerge --ask xfce-base/thunar emerge --ask xfce-extra/tumbler emerge --ask xfce-extra/thunar-volman emerge --ask xfce-extra/xfce4-verve-plugin emerge --ask xfce-extra/xfce4-mount-plugin emerge --ask xfce-extra/xfce4-sensors-plugin
音频控制 1 2 3 emerge --ask alsa-utils emerge --ask alsa-plugins emerge --ask
中文字体 1 2 3 4 5 6 7 8 emerge --ask media-fonts/arphicfonts emerge --ask media-fonts/noto-cjk emerge --ask media-fonts/source-han-sans emerge --ask media-fonts/wqy-microhei emerge --ask media-fonts/wqy-zenhei eselect fontconfig list eselect fontconfig enable X X X
输入法 1 2 3 4 5 6 7 8 9 10 11 12 emerge -vj app-i18n/fcitx:5 app-i18n/fcitx-configtool:5 app-i18n/fcitx-qt:5 app-i18n/fcitx-gtk:5 export XMODIFIERS="@im=fcitx" export QT_IM_MODULE=fcitxexport GTK_IM_MODULE=fcitxexport SDL_IM_MODULE=fcitx
常用命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 sudo emerge --ask --verbose --update --deep --newuse @worldemerge -avuDN @world emerge -av --deepclean revdep-rebuild emerge --ask --verbose --update --deep --changed-use --getbinpkg @world emerge -uDN @world --buildpkg --buildpkg-exclude "virtual/* sys-kernel/*-sources" etc-update -3 source /etc/profile emerge --prune sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin
emerge 使用二进制包选项说明
选项
说明
–usepkg (-k)
尝试使用本地可用的 packages 目录中的二进制包。如果未找到二进制包,将执行常规(基于源)安装。
–usepkgonly (-K)
类似 –usepkg (-k) ,但如果找不到二进制包,则失败。
–getbinpkg (-g)
从远程二进制包主机下载二进制包。如果未找到二进制包,将执行常规(基于源)安装。
–getbinpkgonly (-G)
类似于 –getbinpkg (-g) ,但如果无法下载二进制包,则会失败
USE是Gentoo为用户提供的最具威力的变量之一。很多程序通过它可以选择编译或者不编译某些可选的支持。例如,一些程 序可以在编译时加入对gtk或是对qt的支持。其它的程序可以在编译时加入或不加入对于SLL的支持。有些程序甚至可以在编译时加入对 framebuffer的支持(svgalib)以取代X11(X服务器)。 大多数的发行版会使用尽可能多的支持特性编译它们的软件包,这既增加了软件的大小也减慢了启动时间,而这些还没有算上可能会涉及到的大量依赖性问题。Gentoo可以让你自己定义软件编译的选项,而这正是USE要做的事。 在USE变量里可以定义关键字,它被用来对应相应的编译选项。例如,ssl将会把ssl支持编译到程序中以支持它。-X会移除其对于X服务器的支持(注意前面的减号)。gnome gtk -kde -qt4将会以支持GNOME(和GTK)但不支持KDE(和Qt)的方式编译软件,使系统为GNOME做完全调整(如果架构支持)。 默认的USE设置全放在了系统所使用的Gentoo配置文件的make.defaults文件中。Gentoo对它的配置文件们使用了一个(复杂的)继承系统,在这个阶段我们不去深入。最简单的检查当前活动的USE标记的办法是运行emerge –info并选择以USE开头的那一行:
1 emerge --info |grep ^USE
![[Gentoo安装/IMG-20241210170128821.png]] 可以在系统的/usr/portage/profiles/use.desc中找到可用的USE标记的完整描述。
1 less /usr/share/portage/profile/use.desc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ### 常用软件 ```bash sudo emerge --ask media-video/mpv # 电子邮件客户端 sudo emerge mail-client/thunderbird # 视频播放器 sudo emerge media-video/mplayer # 音乐播放器 sudo emerge media-sound/exaile # 虚拟机 sudo emerge app-emulation/virt-manager sudo emerge app-emulation/virtualbox # VIM sudo emerge app-editors/vim
参考文章
Gentoo AMD64 Handbook - Gentoo Wiki
开始使用gentoo linux——gentoo安装笔记(上)
开始使用gentoo linux——gentoo安装笔记(下)
Gentoo安装流程分享(step by step),第二篇之KDE Plasma桌面的安装配置 - 知乎 (zhihu.com)
gentoo linux配置intel和nvidia双显卡电脑,使用prime方案 - 简书 (jianshu.com)