(日常更新) archlinux使用贴士

阿昊诈尸了,数月之后含着泪更下了这篇文章,因为他手残把系统滚挂了,重装了一遍,顺便复习一下安装过程。

一些小东西,日常更新,只为更好的用户体验

安装

PREPARATION

  • download arch iso here
  • 写引导镜像 。 讲道理没必要用 UltraIso 那么麻烦的工具 , 我推荐 USB writer
  • 安装过程需要网络连接,尽量使用网线,wifi需要另外配置,参见官网wiki。
  • BIOS 这种东西我们就不用了吧, UEFI大法好。

开始干活儿!

关于分区

理论上讲需要三个分区,她们分别是

SDA1 : linux swap SDA2 : EFI system SDA3 : linux file system

其中 swap 分区,并不是一个必需的东西,不过建议搞一个,他的容量一般设置为机器内存的一半。

EFI 分区, 如果已经有了,也可以不搞。她的容量是512 Mb。

由引导盘启动后即可开始分区,使用cdisk工具,按照指示弄就好了,没什么可说的。

分完区之后注意记一下各个分区对应的编号,这个例子中, sda1 sda2 sda3 分别对应 swap , efi , linux file system .

接下来执行这四条指令格式化分区。

mkfs.vfat -F32 /dev/sda2
mkfs.ext4 /dev/sda3
mkswap /dev/sda1
swapon /dev/sda1

他们的作用分别是 1. 把设置sda2为vfat(作efi分区用),2.把sda3格式化为ext4 作为 Linux 分区使用 . 3和4 建立并激活swap 分区。

挂载分区

mount /dev/sda3 /mnt
mkdir -p /mnt/home /mnt/boot
mount /dev/sda2 /mnt/boot

正式开始安装

由于某些众所周知的原因,我们的联网安装可能会遇到障碍,所以在获取联机内容前先编辑一下源 /etc/pacman.d/mirrorlist , 把想用的源放在最前面.保存后执行 pacman -Syy

安装系统:

pacstrap /mnt base base-devel

fstab 在这里, fstab 用于硬盘的自动挂载 (之前的各种mount操作)。这里有一个坑,如果用 sda1 sda2 这样的编号作为设备的索引,一旦将来设备编号发生变化,就会出现问题,举个栗子(亲身经历),我的arch和windows装在同一块ssd上,win占用的分区编号靠前,又一次win更新过后,很抽筋地给我增加了一个分区在前面,导致其后所有分区编号顺延了1,这样fstab就未能成功挂载boot,arch系统引导失败。 解决这种情况就要用UUID 作为设备索引了,当然这都是后话。

genfstab -U -p /mnt >> /mnt/etc/fstab

以上命令生成一个fstab配置,最好再人工确认一下,另外以后就不要再用genfstab了 , 人工编辑吧。

进入新系统 说了那么多,刚才所有的操作其实是在你的U盘中的一个live arch系统中进行的,现在你要换到自己刚装上的系统去。

arch-chroot /mnt /bin/bash

启用dhcpcd (网络连接):

systemctl enable dhcpcd.service

现在要设置一些语言地区时间字体了,不过为了减少安装步骤,这里只是设置一下语言地区,其他来日方长。

edit /etc/locale.gen 选择需要的编码,去掉注释。我们用到的是这些:

en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312

tip : vi 中 在normal模式下,按 / 可进行搜索。 按n跳转到下一个结果。

edit /etc/locale.conf

LANG=en_US.UTF-8

现在新建一个日常用户,root用户要少用,而且不要用root 搞startx,容易出事儿。

useradd -G wheel username
passwd username
mkdir -m 700 /home/username
chown username:username /home/user

这个时候虽然新用户在管理员组,但仍然不能使用sudo权限,这时候你就要作为root,编辑一个 /etc/sudoers 添加一行

username ALL=(ALL) ALL

对了root 用户最好也用passwd命令设个密码。。

bootloader(for UEFI)

mount -t efivarfs efivarfs /sys/firmware/efi/efivars

pacman -S grub os-prober efibootmgr

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck

grub-mkconfig -o /boot/grub/grub.cfg

卸载分区,重启一发

exit
umount -R /mnt
reboot

图形界面

pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils xorg xorg-xeyes xorg-xclock

显卡驱动

pacman -S xf86-video-vesa

GNOME

pacman -S gnome pacman -S gnome-tweak-tool gnome-packagekit
systemctl enable gdm.service

到这里,就可以开始用ARCH LINUX 了

其他设备

pacman -S alsa-utils
pacman -S xf86-input-synaptics

输入法

pacman -S ibus-libpinyin

关于网络

sudo pacman -S networkmanager network-manager-applet
sudo systemctl enable NetworkManager.service
sudo systemctl disable dhcpcd

日常设置

节省笔记本电池

刚装完的arch,吃电池还是很厉害的,需要进行一些微小的优化:

sudo pacman -S tlp powertop
sudo systemctl enable tlp
sudo systemctl start tlp

交换 ESC 和 CAPS LOCK

作为一个vim党,不换CAPS LOCK 和 ESC 根本忍不了

simply use dconf-editor

找到 org >> gnome >> desktop >> input-source 然后 找到 xkb-options , 添加 ‘caps:swapescape’ (注意不要改变中括号)

ntfs 分区的挂载

正常情况下arch是不支持ntfs文件系统的读写的,这时候需要

sudo pacman -S ntfs-3g

这样就可以mount一个windows分区,但是手动mount太麻烦了,对于一些常用分区,我们希望让系统自动挂载,这时候就要用到fstab了。 edit /etc/fstab 比如我们需要挂载的分区是 /dev/sda4 ,只需要加一行

/etc/sda4  [mount-point]  ntfs-3g  defaults  0 0

(其中[mount point]是挂载点,我用的是 /mnt/windev). 还记得之前说过的使用sda4这类设备编号的坑嘛?如果分区表发生了变化,这个挂载就会失败,所以我们更该一下,使用UUID作为设备索引。

sudo blkid /dev/sda4 

这时候你会得到一串字符串。找到 UUID= 后面的内容,更改刚才那一条fstab记录(其中XXXXXX是刚刚查到的UUID):

UUID=XXXXXX  <mount point>  ntfs-3g  defaults  0 0

改完后保存,重启,就可以自动把sda4挂载到/mnt/windev下了 =w= 当然,fstab记录可以进行更详尽的权限等设置,具体参见官方wiki。

关于win ,arch 双启动

假设我们用的是grub,在之前的安装步骤,我们进行 grub-mkconfig 的时候并没有识别原来windows的EFI,引导界面是看不到windows的,所以这里作出一个微小的补救,我们装完上面的 ntfs-3g 之后, 再进行一个

sudo grub-mkconfig -o /boot/grub/grub.cfg

就可以把新监测到的windows EFI写入grub配置文件 , 现在重启,就可以在启动界面看到windows辣。

给我一个酷炫的终端

跟ubuntu那种耀眼贱货不一样,我们的arch小萝莉默认终端是不能变透明的,所以我们要装一个

pacman -S xfce4-terminal

然后就可以设置背景透明啦。 再给他一个drop down 式的全局热键触发,在系统设置-keyboard-custom shortcut 中添加一条 xfce4-terminal --drop-down ,我用的 alt+t

hifi ,懂吗 , hifi!

笔记本声卡什么的,才不用呢。 装一套 alsa-utils 即可使用 alsamixer 工具切换声卡。

持续更新中