Disk


Part

使用parted建立gpt label并且分区。

个人使用一般分为//boot/homeswap即可。

efi引导需要增加efi分区/boot/efi,为fat16/32格式。

Manage

使用lvm管理磁盘,并开启dm-crypt加密

pvcreate /dev/sda1
pvdisplay
pvscan

pvmove -v /dev/sda1
vgreduce vg0 /dev/sda1 && pvremove /dev/sda1

vgcreate vg0 /dev/sda1

lvcreate -n [lvname] -l 50%VG [vgname]
dd if=/dev/urandom of=/etc/keys/enc.key bs=1 count=4096

cryptsetup -s 512 luksFormat /dev/sda1 [/root/keys/enc.key]
cryptsetup open /dev/sda1 name
cryptsetup close name 

cryptsetup luksDump /dev/sda1 
cryptsetup luksAddKey /dev/sda1

Mount

linux通常使用/etc/fstab文件指导磁盘挂载。

建议使用UUID保证磁盘唯一性。

Time


通常系统时间基于NTP协议进行同步

时间不准将导致ssl协议出现错误!!!

echo UTC > /etc/timezone        # 时区信息 /usr/share/zoneinfo
emerge --config timezone-data

安装NTP服务net-misc/ntp

NTP授时服务

Gentoo使用hwclock服务同步软硬件时间,不过需要内核支持

Gentoo System time

Locale


本地语言通常可以配置多个。

/etc/locale.gen开启/usr/share/i18n/localesLinux多语言支持。

locale-gen命令生成对应配置。

eselect locale list         # 应用配置到/etc/env.d/02locale

Cron


举个栗子

# 分 时 日 月 年 命令 参数
0 11 * * * echo hello > /dev/tty1

Network


Gentoo的网络配置由netifrc提供。参见https://wiki.gentoo.org/wiki/Netifrc

我们只需使用配置即可。

udevadm test-builtin net_id /sys/class/net/enp3s0   # 查看网络ID信息

修改接口名

udev实现了驱动管理,配置/etc/udev/rules.d/70-net-name-use-custom.rules

SUBSYSTEM=="net", ACTION=="add", ENV{ID_NET_NAME_PATH}=="enp3s0", NAME="lan"
SUBSYSTEM=="net", ACTION=="add", ENV{ID_NET_NAME_PATH}=="wlp5s0", NAME="wlan"

路由NAT

hrp nat resource primary-group上端口范围为2048-33791。

hrp nat resource secondary-group上端口范围为33792-65536。

配置管理

这里用到了hprofile

IP

  • 10.64.0.0/16 工作隔离网段
  • 10.96.0.0/16 测试隔离网段
  • 10.128.0.0/16 工作外网网段
  • 10.160.0.0/16 测试外网网段
  • 10.192.0.0/16 工作广域网段
  • 10.224.0.0/16 测试广域网段

USB


Tool

lsusb

Power Management

Power Management for USB

# 强制断电
echo '2-1' > /sys/bus/usb/drivers/usb/unbind

Console Font


这里用了terminus-font的字体ter-120b

修改在/etc/conf.d/consolefont并添加到启动rc-update add consolefont boot

File Management