记一次基于vmware的gentoo安装

 采用GPT分区,只要一个根分区和/boot分区,无swap分区,你可以自行增加/home等,我是有一个/data分区专门用于装个人数据的,独立磁盘文件,方便备份;系统是64位的,最终采用systemd(gentoo默认是openrc),安装简洁版的X11和简洁版的KDE,注意是在vmware上安装的,不是实体机。。。全部安装可能要十几个小时,如果你不需要安装X、KDE,大概只需要1小时,其中编译内核和安装软件耗时大。包含MBR和UEFI启动方案。

下载gentoo

1) 下载地址:https://www.gentoo.org/downloads/ (官网比较慢,一般我去http://mirrors.163.com/gentoo/下载)

  这里有 Minimal Installation CD Hybrid ISO (LiveDVD)以及stage 3

  minimal就是迷你安装系统,只有命令行,我下载的就是这个版本;实际上你也可以使用其它的linux来安装,但要确保有相关工具。(http://mirrors.163.com/gentoo/releases/amd64/autobuilds/current-install-amd64-minimal/,找iso镜像文件,这是最新版)

  LiveDVD是一个健全的系统,有图形界面,就像一个已经安装好的带有图形界面的系统一样(我们安装gentoo不用这个大boss)

  stage 3是gentoo的根目录系统,它包含了除引导系统、内核、软件以外的其它东西(解压以后你可以看到典型的linux目录了),一般使用的是stage3,版本号越小提供的东西越少,有stage1~4;注意在这里你要选择systemd版本,否则你安装的会是你选择的那个版本;(http://mirrors.163.com/gentoo/releases/amd64/autobuilds/current-stage3-amd64-systemd/,注意选择stage 3,同样的,这里选择的是最新版,这个文件在安装系统的时候通过内部下载,在第9个步骤

  

  

 

 

  

创建虚拟机

vmware目前还不支持gentoo,我们选择"其他 Linux 4.x 或更高版本内核 64 位"

最终我创建的gentoo配置为,4核CPU,8G内存,30G硬盘(安装好后会占用约12G(如果不安装X、kde大概8G),我安装了各种软件后约20G),网卡用的桥接模式,显卡加速3D图形,光驱就把你下载的迷你安装系统iso放进去就行,当然其他linux也可以的

安装gentoo

1.) 启动虚拟机后会进入一个提示界面,我们输入gentoo回车即可,如果你要禁用或启用一些功能,就要在这里设置了,可以参考官网手册(你也可以:gentoo nodhcp dosshd passwd=pswd,这段命令相当于在gentoo命令的基础上再加上禁用dhcp、启用sshd、设置root密码,我用的就是这段命令,nodhcp适合我这种必须指定静态ip的;使用这个命令,下面的第3项和第5项都可以省略了;如果你要安装成efi模式,请注意使用efi模式启动,方法:编辑.vmx文件,增加firmware = "efi"注:我2020年下载的版本貌似只能回车直接运行了,不再支持输入这些参数);

2.) 然后是要求你输入键盘类型,因为默认是美国的键盘,所以直接回车即可,或者等待它超时自己选择

3.) 如果你需要远程连接,你需要获取root密码;首先是登录任意一个账号(miniCD默认登录root),输入sudo passwd设置root的密码(只是迷你安装系统的密码,不是新系统的),然后输入su和密码进入root账户;如果是已经登录root的,直接用passwd命令修改密码即可。

4.) 设置网络,你可以用ifconfig查看网卡,然后使用ifconfig eno16777736 inet 192.168.1.250 netmask 255.255.255.0 broadcast 192.168.1.255命令设置ip,我使用的是静态ip设置模式;设置指定网卡(一般是eno16777736ens33等命名)的ip、掩码、广播网;使用route add default gw 192.168.1.1设置网关(注意网络设置的相关ip必须修改成你的ip);可以ping一个外网ip看效果;注:后面我发现网关设置失败,所以先用dhcpcd命令启用,再设置网关即可。

ifconfig 你的网卡名 inet 分配给当前系统的ip netmask 掩码 broadcast 广播网
route add default gw 网关
# 或者ip route add default via 网关

5.) 启动sshd远程连接(如果你需要的话)

/etc/init.d/sshd start  // 使用sshd你可以通过类似SecureCRT来连接,这样你就可以拷贝粘贴了,否则mini安装系统没法在宿机和虚拟机里面来回拷贝

6.) 设置DNS,vi /etc/resolv.conf;输入nameserver 114.114.114.114等等,每一个解析ip段占一行;vi提示:进入vi后按G键到最后一行,按o键在下一行进入编辑模式,完了以后按ESC键进入命令模式,再输入:wq(注意有冒号,前面的按键区分大小写)回车即可;然后你可以ping一个外网域名看看效果

nameserver 119.29.29.29
nameserver 182.254.116.116
nameserver 180.76.76.76
nameserver 114.114.114.114
nameserver 223.5.5.5
nameserver 223.6.6.6
nameserver 1.2.4.8
nameserver 8.8.8.8

7.) 硬盘分区

警告:parted程序的每一步都会立即写入存储器,没有后悔药
// 下面的是MBR方案

parted /dev/sda        // 使用parted给/dev/sda硬盘分区,注意一定要选对硬盘,我这里是sda,可以用ls /dev/s*来查看有哪些设备,一般第一块硬盘是sda,第二块是sdb... mklabel gpt          // 采用gpt分区 unit mib            // 设置单位为mib mkpart primary 1 3      // 在第1到第3mib创建一个分区(2mib) name 1 grub          // 设置第一个分区名字为grub,第一个创建的分区就是上面的命令所创建的 set 1 bios_grub on      // 设置第一个分区为bios_grub启动分区 mkpart primary 3 131     // 创建第3到131mib为第二个分区,(128mib) name 2 boot          // 设置第二个分区名称为boot分区 mkpart primary 131 -1    // 创建第三个分区,-1表示到最后 name 3 rootfs         // 设置第3个分区名为rootfs set 2 boot on         // 设置第二个分区为启动分区 print              // 简写为p,打印分区信息 q                // quit,退出分区


// UEFI方案,注意你必须用uefi启动才能安装uefi版grub

  parted /dev/sda
  mklabel gpt
  unit mib
  mkpart primary 1 513  // 设置GPT磁盘ESP分区大小,我这里是513-1M
  name 1 boot
  mkpart primary 513 -1  // 设置根分区,如果你需要其它分区请自行解决,这里我没有设置/boot分区,-1表示到最后
  name 2 rootfs
  set 1 boot on
  print
  q

8.)  格式化并挂载硬盘

// MBR
mkfs.ext2 /dev/sda2          // 格式化boot分区,boot分区最好用ext2,切记一定要选对分区,不要照搬,ls /dev/sda*可以查看sda磁盘的分区 mkfs.ext4 /dev/sda3          // 格式化根分区(sda3)为ext4格式

mount /dev/sda3 /mnt/gentoo     // 挂载第3个分区rootfs为根分区(/mnt/gentoo在系统里面已经帮你建好了)
mkdir /mnt/gentoo/boot        // 在新系统的根分区创建boot目录(boot分区目录还不存在,必须创建才能挂载)
mount /dev/sda2 /mnt/gentoo/boot  // 挂载第二个分区boot为boot分区
// UEFI

 mkfs.vfat -F32 /dev/sda1          // 尽量格式化成FAT32
 mkfs.ext4 /dev/sda2

mount /dev/sda2 /mnt/gentoo
mkdir -p /mnt/gentoo/boot/ESP      // 挂载gpd分区的ESP分区,ESP目录名你可以取别的名字,你也可以挂载到别的目录,一旦安装好grub就可以不用挂载了
mount /dev/sda1 /mnt/gentoo/boot/ESP

// 下面的这张图片显示了sda的分区,第一个是sda硬盘,后面3个是该磁盘的分区,第一个分区我们不用管,我们只需要boot分区和根分区(sda2、sda3)
  

9.) 下载并解压根文件系统

cd /mnt/gentoo/  // 注意切换到新系统挂载点根目录,从现在起,你操作新系统的文件都要加上/mnt/gentoo/路径,否则只是操作安装CD的路径,重启就没了  
wget "http://mirrors.163.com/gentoo/releases/amd64/autobuilds/current-stage3-amd64-systemd/stage3-amd64-systemd-20180623.tar.bz2"  // 下载根文件系统,这里就是文章开头的stage3,注意修改成你的地址;默认下载到当前目录
tar xvjpf stage3-amd64-systemd-*.tar.bz2 --xattrs --numeric-owner  // 解压stage3,默认会解压到当前目录,所以你要确保执行了cd /mnt/gentoo/
// 如果你不需要这个文件了可以删除,rm -f stage3-amd64-systemd-*.tar.bz2

10.) 配置make.conf

nano /mnt/gentoo/etc/portage/make.conf  // 这里使用nano编辑器,使用方向箭头移动,修改好后按ctrl+x退出,这时它会提示你是否保存,按y保存(按n就是不保存了),如果打开的是已有文件它会显示原有路径,直接回车即可保存到显示目录
-march=native   // 修改变量,CFLAGS="-O2 -pipe -march=native" -march=native是让它自己去识别cpu类型,你也可以设置成具体的cpu类型
MAKEOPTS="-j8"  // 增加变量,设置编译线程数,我的是intel 4核8线程的,所以设置成8

11.) 设置更新源地址

mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf  // 通过上下箭选择你认为合适的地址,按空格键选择和去选,我选的是163的,然后按回车选择OK(OK按钮必须是蓝色状态,可通过tab键跳转)

 


12.) 拷贝repos.conf和gentoo.conf到新系统

mkdir /mnt/gentoo/etc/portage/repos.conf/
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
cp -L /etc/resolv.conf /mnt/gentoo/etc/
// 前面我切换了路径到/mnt/gentoo/etc/portage,你不用管它
 

13.) 切换到新系统

mount -t 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
chroot /mnt/gentoo /bin/bash      // 切换到新系统,指定新系统的根目录和shell解释器,从现在起,你已经在操作新的系统,不需要再加/mnt/gentoo/,因为你已经进入了新系统
source /etc/profile           // 使用新系统的profile配置文件
export PS1="(chroot) $PS1"       // 为了便于识别新系统,加上(chroot),如果你在后面的操作中发现命令提示符少了(chroot),说明你要么改变了它,要么退出了新系统
// 前面我切换了路径到/mnt/gentoo/etc/portage,你不用管它
 

14.) 更新软件仓库

emerge-webrsync  // 为了你安装系统的时候能使用最新软件

 //如果出现同步错误,例如”rsync“,可以修改/etc/portage/repos.conf/gentoo.conf,将粗体部分修改成rsync即可

  //sync-type = rsync
  //sync-uri = rsync://rsync.gentoo.org/gentoo-portage

15.) 设置profile

eselect profile list  // 查看有哪些profile,profile决定了你的系统安装软件时的默认开启功能(例如USE变量等)
eselect profile set n // n=对应的你需要的profile,比如25
// 我选择的是[25]  default/linux/amd64/17.0/systemd (stable) *;后面的*号表示当前选中的
// 注意该编号可能不同,千万不要选错,当然你在以后使用系统时也可以更改,不过会产生很大的系统变动,可能会重新处理一大堆软件

16.) 更新系统

emerge --ask --update --deep --newuse @world  // 如果你现在就需要更新系统就使用这个命令吧,他有可能因为原有软件太旧而更新一大堆软件,非常耗时,如果你的stage3是最新的,往往需要更新的软件也少
// 更新可能会告诉你有新的提示新闻,可用eselect read news查看
// 在更新系统前你可以先设置某些软件的安装依赖,文件位于/etc/portage/package.use/目录里(所有的文件都有效,不管文件名是什么)

17.) 配置make.conf

nano -w /etc/portage/make.conf
 // 增加一些变量,如果你使用了我的make.conf就不需要再配置了,下面增加或修改相关选项,注意,我的USE会安装很多东西,对新手可能难以处理依赖。建议你先别用,保留默认的USE,但是要把bindist删掉

 USE="-bootstrap -build -livecd -static -ibus 3dnow user-session Xaw3d a52 aac aalib acl acpi alsa ao apm arts atm audiofile aqua bash-completion bcmath bluetooth branding bzip2 cairo cdda cddb cdparanoia cdr cgi cjk cracklib crypt cscope css ctype cups curl cxx dbm dbus dga directfb djvu dri dts dvdvb dvd dvdr encode esd exif faac fam fbcon ffmpeg flac fontconfig ftp gcj gd gdbm geoip ggi gif gphoto2 gpm graphviz gzip gsm gstreamer gtk hal hddtemp icu idn ieee1394 imap ipv4 ipv6 java javascript jbig jpeg jpeg2k kontact kde ladspa lame lash latex lcms libcaca libnotify libsamplerate lirc lm_sensors lua lzo m17n-lib mad matroska memlimit mhash mikmod mime mmx mng modplug mp3 mp4 mpeg mpi mtp multilib musepack mysql nas neon ncurses netboot netcdf networkmanager nls nntp npt nocdnptl nsplugin odbc ogg openal openexr opengl openmp pam pch pcmcia pdf plotutils png portaudio posix prelude profile pulseaudio python qt4 qt5 raw readline real recode samba scanner sdl semantic-desktop shorten skey smartcard smp sndfile snmp sockets socks5 sox speex sse sse2 ssl static-libs svg svga syslog sysvipc szip systemd tcpd theora threads tiff timidity truetype unicode usb v4l v4l2 vaapi vdpau vcd vim-syntax vorbis wavpack wifi wmf X x264 x265 xattr xcb xface xft xine xinerama xml xpm xprint xscreensaver xvid wayland webp zlib zsh-completion uclibc"

  VIDEO_CARDS="savage vesa via vmware"
  INPUT_DEVICES="evdev keyboard mouse synaptics mutouch vmmouse"

  LINGUAS="en zh_CN"      // 可以根据需要决定是否添加
  L10N="en en-US zh zh-CN"        // 可以根据需要决定是否添加

  USE_PYTHON="2.7 3.6"               // 可以根据需要决定是否添加
  PYTHON_TARGETS="python2_7 python3_6"  // 可以根据需要决定是否添加
  # PYTHON_SINGLE_TARGET="python3_6"

  # ACCEPT_KEYWORDS="x86 amd64"            // 个人建议不要添加测试版,比如~x86 ~amd64,否则你会抓狂的

  // USE你可以使用自己的配置,或者使用默认的,我的配置会安装不少软件,注意:系统安装成功之前继续保留原有的USE,下面的图使用了新的USE,可能会产生依赖地狱,请注释掉,系统安装成功后根据需要再使用新的USE(我的USE适用于KDE,如果你不安装KDE可能需要修改),然后更新系统,原有的USE包含bindist,可能会引起openssh和openssl冲突,建议删除
  // 根据需要调整USE、语言和python

18.) 设置时区

# ls /usr/share/zoneinfo          // 可以使用该命令查看有哪些时区
echo "Asia/Shanghai" > /etc/timezone   // 设置时区为上海
emerge --config sys-libs/timezone-data  // 更新时区配置

19.) 设置字符集

nano -w /etc/locale.gen  // 在locale.gen文件中增加中文字符集,删除你认为不需要的字符集,注意要保留一个带UTF的字符集
    zh_CN GB18030 
    zh_CN GB2312
    zh_CN GBK
    zh_CN.UTF-8 UTF-8

locale-gen          // 应用修改
eselect locale list    // 查看可用字符集
eselect locale set n    // 选择一个字符集,zh_CN.UTF-8 UTF-8

20.) 更新环境

env-update && source /etc/profile && export PS1="(chroot) $PS1"  // 设置了一堆东西,需要更新一下环境

21.) 安装内核

emerge --ask sys-kernel/gentoo-sources  // 这里安装的是gentoo仓库的内核,注意这个安装仅仅是下载源码之类,并没有编译。。
ls -l /usr/src/linux             // 可以查看下载的内核版本,或者eselect kernel list

22.) 编译内核

你可以选择手动编译或自动编译,手动编译可以定制化,前提是你必须懂一些东西;自动就是编译一大堆东西,免得你再去找,但是对于特殊化的可能不支持,你还是要手动。你可以用完善的liveCD启动看看有没有加载你的模块,你也可以提取liveCD、ubuntu等完善的系统内部的.config配置文件(/usr/src/linux/.config)
手动
emerge --ask sys-apps/pciutils          // 先安装pciutils这个软件
cd /usr/src/linux                  // 进入内核文件目录
make menuconfig                      // 配置内核,使用make olddefconfig可以直接使用原有配置(make localyesconfig可以把当前已启用的模块写进config文件启用编译进内核{而不是作为模块},make localyesconfig可以把当前没有启用的模块从内核配置文件中禁用),文章尾部提供一个我的配置文件(基于ubuntu修改),你可以用wget "URL"下载,注意你所在的路径,注意配置文件名为“.config”,是一个隐藏文件
make modules_prepare                // 准备模块
make -j8 && make modules_install         // 设置编译线程并安装模块,如果不写线程可能会很慢,这是非常耗时的,我的电脑要40分钟左右(简化配置后,我只需要5分钟)
make install                     // 安装内核
emerge --ask sys-kernel/genkernel        // 安装genkernel软件来使用下面命令,如果你不需要initramfs文件可以省略,如果你的系统无法启动可能是你没有安装initramfs(我的系统不需要,如果你的系统无法启动就试一试)
genkernel --install initramfs          // 使用genkernel安装initramfs
ls /boot/initramfs*

自动:

 emerge --ask sys-kernel/genkernel
 nano -w /etc/fstab
 /dev/sda2 /boot ext2 defaults 0 1    // 挂载boot分区
 安装:ln -sf /proc/self/mounts /etc/mtab

 genkernel --menuconfig all        // 使用genkernel默认的配置文件编译内核,你可能需要设置一下下面的选项,特别是要选中systemd(默认openrc)

 # systemd选项
 # Gentoo Linux --->
 # Support for init systems, system and service managers --->
 # [*] systemd
 # General setup --->
 # [*] open by fhandle syscalls                   // 在Default hostname下面5行,自动安装没有该选项
 # (none)Default hostname                      // 系统名称,会在命令提示符显示
 # [*] Configure standard kernel features (expert users) ---> // 子选项已选择
 # Firmware Drivers --->
 # EFI (Extensible Firmware Interface) Support -->
 # <*> EFI Variable Support via sysfs
 # Device Drivers --->
 # Generic Driver Options --->
 # () path to uevent helper
 # [*] Include in-kernel firmware blobs in kernel binary
 # () External firmware blobs to build into the kernel binary
 # Graphics support --->
 # Frame Buffer Devices --->                     // 自动安装已选择
 # <*> Support for frame buffer devices --->
 # ## (禁用包括 VGA、 英特尔、 nVidia、 ATI所有的驱动程序.除了基于 EFI 的帧支持,只有如果你正在使用 UEFI的话)

 ls /boot/kernel* /boot/initramfs*

23.) 安装软件

emerge --ask sys-kernel/linux-firmware    // 有些软件可能已经安装
emerge --ask pciutils
emerge app-editors/vim
vim /etc/fstab                  // 挂载分区,否则无法启动,根据需要调节
 // MBR
/dev/sda2 /boot ext2 defaults,acl,noatime 0 2 /dev/sda3 / ext4 defaults,acl,noatime 0 1
 // UEFI
  /dev/sda1   /boot/ESP vfat  defaults          0 2  // 这个分区是挂载ESP分区,可以省略,挂载主要是方便修改ESP
  /dev/sda2   /      ext4  defaults          0 1
// sdb1是我自己的分区,请忽略,如果你有别的分区也可以在这挂载,注意分区名,挂载路径,格式化类型,挂载方式等等,注意defaults是带s后缀的,写错了可能会变成只读系统,无法写入
emerge --ask sys-apps/pcmciautils

 emerge --ask sys-process/cronie
 emerge --ask sys-apps/mlocate

emerge --ask net-misc/dhcpcd        // 根据需要安装dhcpcd
emerge --ask net-dialup/ppp

emerge --ask net-misc/ntp          // 更新时间用,ntpdate time.nist.gov,ntpd -q -g
                         // 使用date查看时间

 hwclock --show                 // 显示硬件时间
 hwclock --hctosys               // 硬件时间同步到系统
 hwclock --systohc               // 系统时间同步到硬件


emerge --ask app-portage/eix        // 查看软件用,eix -I vim,查看vim是否安装(需要先运行 eix-update更新数据库,否则数据可能是过时的)
emerge --ask app-portage/gentoolkit    // 包含equery命令,可以用equery d softName查看该软件被谁依赖
emerge --ask wqy-zenhei wqy-microhei   // 安装中文字体

24.) 安装引导程序grub

emerge --ask --verbose sys-boot/grub:2
// MBR   grub-install /dev/sda // 某些系统可能是grub2-install /dev/sda,切记一定要选对硬盘 // UEFI
  grub-install --target=x86_64-efi --efi-directory=/boot/ESP --bootloader-id=grub  // x86_64-efi用于指定64位, /boot/ESP用于指定ESP目录,如果你挂载的地方不同要修改
  // 如果运行上面的命令提示错误,没有权限,可以使用此命令修复:mount -o remount,rw /sys/firmware/efi/efivars,注意你必须是uefi启动的才能安装
vim /etc/default/grub    // 可以在这里修改倒计时
grub-mkconfig -o /boot/grub/grub.cfg  // 记得更新配置否则修改得不到应用

25.) 设置新系统root密码

passwd

26.) 设置新系统的网络

vim /etc/conf.d/hostname            // 如果你的是openrc可以通过这个文件设置系统名称;
vim /etc/conf.d/net               // 如果你的是openrc可以通过这个文件设置网络 config_eth0="192.168.1.251 netmask 255.255.255.0 brd 192.168.1.255" routes_eth0="default via 192.168.1.1" cd /etc/init.d                 // 如果你的是openrc ln -s net.lo net.eth0             // 网络链接设置 rc-update add net.enp2s1 default    // 注意“net.”不能少


# /etc/systemd/network/50-static.network
# 如果你是使用systemd就用这种方法设置网络,这个文件默认是不存在的 [Match] Name
=ens33  // 写对网卡 [Network] Address=192.168.1.251/24 Gateway=192.168.1.1

27.) 重启进入新系统

exit                      // 退出chroot
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}  // 卸载挂载的设备
umount -R /mnt/gentoo
poweroff                    // 关机

  

// 重启进入新系统后输入root登录账户并运行下面的命令使用相关服务,必要的时候再重启一次(CD/DVD你可以卸载了,或者挂载VMTools,安装该工具)
// 出现下面的行为是dev/sdb1分区没有提供的原因,我还没有将sdb磁盘加入虚拟机


// 登录root,配置sshd文件(/etc/ssh/sshd_config,修改黄色部分)
systemctl enable sshd.service                   // 启用sshd服务(启用是开机启动的意思)
systemctl start sshd.service                   // 启动sshd服务
systemctl enable systemd-networkd.service            //启用网络服务
systemctl start systemd-networkd.service            //启动网络服务

ln -snf /run/systemd/resolve/resolv.conf /etc/resolv.conf  //链接dns文件到systemd
systemctl enable systemd-resolved.service           //启用自动更新dns文件
systemctl start systemd-resolved.service            //启动自动更新dns文件

systemctl enable cronie.service
systemctl start cronie.service
// 通过编辑/etc/systemd/resolved.conf修改DNS


// 至此,你的系统安装并配置完毕,你可以重启后看看效果,例如网络状况,远程连接,域名解析等等


28.) 安装图形界面

// 图形界面的安装比较耗时,而且容易出问题,建议先备份系统


// 下面是我的局部USE,位于/etc/portage/package.use/z,你可以根据需要设置或不设置,亦或修改为适合自己的方式,数字是vim自带的行号,红色为启用,黄色的是禁用,青色的是软件包名
// 下面这个文件只适合系统安装成功后使用,你可以不设置依赖规则,系统默认的3个我都删除了,为了省事我只创建了一个叫z的文本文件(取名叫z是因为z在文件名里排名靠后,可以在有规则冲突时覆盖前面的冲突)
// 带-的是说该软件包的该软件禁用该功能,无符号的是启用该功能,注意不要写成+号,多个用空格区分,注意数字是行号,是vim软件自带的,不要把它写进去,没有行号的和上面的是同一行,#号是注释



emerge --ask x11-base/xorg-server // 轻量化版X11 env-update source /etc/profile emerge --ask kde-plasma/plasma-desktop  // 轻量化版KDE,注意这个版本缺少很多软件,比如文件管理器,图片浏览器等等
# emerge --ask kde-plasma/plasma-meta  // 完整版KDE
emerge --ask kde-plasma/powerdevil     // 电源管理,如果你安装的是轻量化版,下面的5条命令你可能都需要
emerge --ask kde-plasma/systemsettings  // 设置管理
emerge --ask sddm               // 登录界面
emerge --ask konsole             // 终端
emerge --ask dolphin             // 文件管理器
emerge --ask kde-plasma/kscreen      // 分辨率设置
systemctl enable sddm            // 添加sddm到随系统启动,注意你要有一个普通用户,只有root是不能登录的
emerge --ask app-i18n/fcitx         // 安装fcitx输入法
  fcitx需要到/etc/profile添加下面2行的配置,如果你还是不能用输入法,你就去官方网站找,我的和官方的不同,官方的我没法用。ctrl+空格键切换输入法,如果你鼠标移到任务栏输入法图标上显示无输入窗口那就是没有配置成功

  export GTK_IM_MODULE=fcitx
  export QT_IM_MODULE=fcitx

emerge --ask fcitx-configtool
emerge --ask kcm-fcitx

// 安装好图形界面后可以安装VMTools工具了,把虚拟机的光驱挂上,随便挂一个文件,然后通过VMware软件的菜单,虚拟机->安装VMware Tools,虚拟机就会自动替换你的光驱文件
// 然后进系统把虚拟机里面的压缩文件拷贝出来,你可以用自己挂载的方式拷贝,也可以让系统提示你,通过打开提示进入自动挂载的目录,毕竟我们已经安装了KDE了,有新设备它会提示的,注意要拷贝到你有权限的目录,比如你的家目录(/home/xxx)
// 然后tar -xzvf VMwareTools-10.2.5-8068393.tar.gz  文件名可能不同,可以输入几个字符后用Tab键补齐,确认后回车,解压完毕后进入解压的目录输入./vmware-install.pl即可,一般而然一路回车就行,注意安装vmTools必须用超级用户root。
// 如果提示缺少rc.d或者rc0.d、Rc6.c等rc开头的目录,先ctrl+c,停止安装,然后可以用mkdir -p /etc/rc.d/rc{0..6}.d创建这些目录,最后再重新安装vmware tools。
// 美化grub,修改/etc/default/grub,注意不要忘了更改完后更新grub配置(grub-mkconfig -o /boot/grub/grub.cfg)
// 这里修改了倒计时、分辨率、设置了主题,注意分辨率要用字母'x',不要用星号'*',支持的分辨率可以用grub查询,下面的分辨率是我查到的最大分辨率(我的是1920*1080的显示器,当然我们是在虚拟机安装);主题你可以看看下面图片对应的路径有哪些主题,我安装后只有两个,把主题的主背景图片重命名备份,自己再弄一张合适的图片替换即可

// OK,大功告成
// 有些软件是我另外安装的

 

29.) 相关配置文件

USE flag的颜色
红色:enable
蓝色:前面会带一个”-”,表示disable。
绿色:enable但是还没有加进去的use flag
黄色:上一个版本没有,这一个版本新加入的use flag
括号():在你的平台上禁用的use flag


REQUIRED_USE="foo? ( bar )"          如果 foo 被设定, 则必须设定bar 。
REQUIRED_USE="foo? ( !bar )"          如果 foo 被设定, 则必须不设定 bar。
REQUIRED_USE="foo? ( || ( bar baz ) )"   如果 foo被设定, 则必须设定 bar 或baz 。
REQUIRED_USE="^^ ( foo bar baz )"      foo bar 或baz 中必须有一个被设定
REQUIRED_USE="|| ( foo bar baz )"      foo bar 或 baz 中至少有一个被设定。
REQUIRED_USE="?? ( foo bar baz )"      foo bar 或 baz中必须同时被设定多个USE


B (blocks)      左边列出来的软件因为冲突原因将阻碍右边列出来的软件的安装
N (new)         对于您的系统来说这是一个新软件, 且为第一次安装
NS(new slot)    安装另外一个版本(slot)
R (replace)     不是新软件, 不过会被重新 emerge (reemerged)
r               更新小版本(小幅升级)
F (fetch)       该软件要求您先把源码手工地下载回来 (例如因为许可 (licencing issues) 的缘故)
f               源码已经下载到系统
U (update)         软件包已安装, 不过将被升级
UD (downgrade)     软件包已安装, 不过将被降级
#                被package.mask屏蔽
*                missing keyword
~                unstable keyword

ipv6*            上一次是被关闭的                
-qt%             上一次是被开启的


emerge-webrsync      更新portage
emerge --ask --update --deep --with-bdeps=y --newuse @world 更新系统(--update更新;--deep连同依赖一起更新;--with-bdeps=y编译依赖更新;--newuse 按变化后的use更新;@world更新整个系统)
emerge -uDN --with-bdeps=y @world
emerge -u(--update) softwareName 更新指定软件
emerge -u system      更新系统软件
emerge -u world      更新自己安装的软件(不含依赖的依赖)
emerge --ask        a交互询问;s查询软件包名;k使用本地编译好的预编译包,否则下载源码
emerge -C softwareName  卸载软件
!mtime: 目标文件在安装后被您或被一些工具修改过
!empty: 目标目录不为空
cftpro: 目标文件在受保护的目录内, 不去碰它以策安全
emerge -avt --depclean  删除不需要的包
emerge -e world      重新编译所有软件包
emerge -p softname    模拟安装(假设安装,适合不熟悉软件的使用)
emerge -f         下载源码以及依赖,但是不编译
emerge -fp        查看软件以及依赖的下载地址
emerge "<vim-8.1"    安装小于指定版本软件
emerge -k         安装预编译包(如果有相应版本),Gentoo不提供预编译包,Portage是应社区加入该功能
emerge -K        安装预编译包(不考虑版本)
emerge --getbinpkg   下载并安装预编译包
emerge -G        下载并安装预编译包(重新下载安装,不使用本地的)
emerge --nodeps    不理会依赖(安装可能会失败)
emerge --onlydeps   只安装依赖不安装软件
emerge -v        查看详细信息
emerge -V        查看emerge命令的版本,单独使用

 

 

https://files.cnblogs.com/files/duacai/.config.css,我的内核配置文件.config,为了上传增加了.css后缀,下载好后删除.css后缀即可,放到/usr/src/linux/即可 

 

posted on 2018-06-27 23:34  Duacai  阅读(10694)  评论(0编辑  收藏  举报