Disk
Part
使用parted
建立gpt label并且分区。
个人使用一般分为/
、/boot
、/home
和swap
即可。
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
Gentoo使用hwclock服务同步软硬件时间,不过需要内核支持
Locale
本地语言通常可以配置多个。
/etc/locale.gen
开启/usr/share/i18n/locales
Linux多语言支持。
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
# 强制断电
echo '2-1' > /sys/bus/usb/drivers/usb/unbind
Console Font
这里用了terminus-font的字体ter-120b
修改在/etc/conf.d/consolefont
并添加到启动rc-update add consolefont boot
。