准备
- 联网
timedatectl set-ntp true
loadkeys dvorak
pacman -S tmux fish btrfs-progs
分区
mkfs.fat -F32 /dev/sdb1
sd | flags | size | mount point | file system |
---|---|---|---|---|
sda1 | 711 Gib | /home/harddrive | NTFS | |
sda2 | 207 Gib | /home | XFS | |
sda3 | 15 Gib | /var | XFS | |
sdb1 | efi | 550 Mib | /boot | FAT32 |
sdb2 | 94.8 Gib | / | BTRFS | |
sdb3 | swap | 16.5 Gib | [SWAP] | SWAP |
挂载
cd /mnt
mount /dev/sdb2 /mnt
mkdir -p /mnt/boot /mnt/home /mnt/var
mount /dev/sdb1 /mnt/boot
mount /dev/sda2 /mnt/home
mount /dev/sda3 /mnt/var
mkdir -p /mnt/home/harddrive
mount /dev/sda1 /mnt/home/harddrive
mkswap /dev/sdb3
swapon /dev/sdb3
安装配置基本系统
tmux
pacstrap /mnt base linux-lts # arch-install-scripts
genfstab -L /mnt >> /mnt/etc/fstab
arch-chroot /mnt
pacman -S intel-ucode
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
# edit /etc/locale.gen
locale-gen
echo 'Laptop' > /etc/hostname
vim /etc/hosts
add below to /etc/hosts
# Static table lookup for hostnames.
# See hosts(5) for details.
127.0.0.1 localhost.localdomain localhost
#::1 localhost.localdomain localhost
useradd user
usermod user -aG adm
pacman -S sudo fish networkmanager
visudo
配置启动项
add to /etc/pacman.d/hooks/systemd-boot.hook
[Trigger]
Type=Package
Operation=Upgrade
Target=systemd
[Action]
Description=Updating sysdemd-boot
When=PostTransaction
Exec=/usr/bin/bootctl update
add to /boot/loader/entries/
linux-lts.conf
title Charles Xu's Arch Linux LTS
linux /vmlinuz-linux-lts
initrd /intel-ucode.img
initrd /initramfs-linux-lts.img
options root=/dev/sdb2
options resume=/dev/sdb3
linux-lts-fallback.conf
title Charles Xu's Arch Linux LTS Fallback
linux /vmlinuz-linux-lts
initrd /intel-ucode.img
initrd /initramfs-linux-lts-fallback.img
options root=/dev/sdb2
options resume=/dev/sdb3
add to /boot/loader/loader.conf
default linux-lts
timeout 3
editor 0
change /etc/mkinitcpio.conf
52:HOOKS=(base udev autodetect modconf block filesystems keyboard resume fsck)
安装启动项
bootctl install
安装后的配置
安装 git, fish-shell, tmux, curl, wget
为了防止Btrfs格式文件系统损坏,设置
/etc/default/tlp
:
SATA_LINKPWR_ON_BAT=max_performance
安装 Xfce4
安装/删除软件
inst (inst), yao (yao)
timedatectl set-ntp true
开启并配置相应服务(部分配置应参考CharlesScripts中的自动配置脚本,比如tlp)
/etc/systemd/system
├── bluetooth.target.wants
│ └── bluetooth.service -> /usr/lib/systemd/system/bluetooth.service
├── dbus-org.bluez.service -> /usr/lib/systemd/system/bluetooth.service
├── dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service
├── dbus-org.freedesktop.timesync1.service -> /usr/lib/systemd/system/systemd-timesyncd.service
├── display-manager.service -> /usr/lib/systemd/system/lxdm.service
├── getty.target.wants
│ └── getty@tty1.service -> /usr/lib/systemd/system/getty@.service
├── graphical.target.wants
│ ├── bumblebeed.service -> /usr/lib/systemd/system/bumblebeed.service
│ └── udisks2.service -> /usr/lib/systemd/system/udisks2.service
├── multi-user.target.wants
│ ├── atd.service -> /usr/lib/systemd/system/atd.service
│ ├── btrfs-scrub@root.timer -> /usr/lib/systemd/system/btrfs-scrub@.timer
│ ├── cronie.service -> /usr/lib/systemd/system/cronie.service
│ ├── dnscrypt-proxy.service -> /usr/lib/systemd/system/dnscrypt-proxy.service
│ ├── fail2ban.service -> /usr/lib/systemd/system/fail2ban.service
│ ├── gpm.service -> /usr/lib/systemd/system/gpm.service
│ ├── NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
│ ├── org.cups.cupsd.path -> /usr/lib/systemd/system/org.cups.cupsd.path
│ ├── pkgfile-update.timer -> /usr/lib/systemd/system/pkgfile-update.timer
│ ├── remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
│ ├── sshd.service -> /usr/lib/systemd/system/sshd.service
│ └── v2ray.service -> /usr/lib/systemd/system/v2ray.service
├── network-online.target.wants
│ └── NetworkManager-wait-online.service -> /usr/lib/systemd/system/NetworkManager-wait-online.service
├── printer.target.wants
│ └── org.cups.cupsd.service -> /usr/lib/systemd/system/org.cups.cupsd.service
├── sockets.target.wants
│ └── org.cups.cupsd.socket -> /usr/lib/systemd/system/org.cups.cupsd.socket
├── sysinit.target.wants
│ └── systemd-timesyncd.service -> /usr/lib/systemd/system/systemd-timesyncd.service
└── timers.target.wants
├── e2scrub_all.timer -> /usr/lib/systemd/system/e2scrub_all.timer
├── fstrim.timer -> /usr/lib/systemd/system/fstrim.timer
└── xfs_scrub_all.timer -> /usr/lib/systemd/system/xfs_scrub_all.timer
9 directories, 27 files
- trizen powerline-console-fonts后,编辑
/etc/vconsole.conf
,加入FONT="ter-powerline-v16n"
- Add group users; Add $USER to
wheel, audio, users, realtime
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter]
background = /home/charles/.cache/wallpaper/dialog-image.jpg
theme-name = Arc-Flatabulous-Dark
icon-theme-name = Papirus-Dark
screensaver-timeout = 10
/etc/polkit-1/rules.d/85-suspend.rules
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.suspend" &&
subject.isInGroup("users")) {
return polkit.Result.YES;
}
});
/etc/polkit-1/rules.d/86-mount.rules
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" &&
subject.isInGroup("users")) {
return polkit.Result.YES;
}
});