ArchLinux

ArchLinux

安装

验证启动方式

如果有文件则说明是UEFI模式,如果没有文件则是BIOS模式。

ls /sys/firmware/efi/efivars

连接互联网

确认接口状态

ip link

使用iwctl连接无线网络

SSID,名称

passphrase,密码

iwctl station device connect SSID --passphrase passphrase
动态分配IP

如果你路由器是使用DHCP的方式分配IP,可能需要输入下面的命令。

dhcpcd

更新系统时钟

正常情况是没有输出的,你可以使用timedatectl status来查看系统时钟是否设置为UTC时区。

timedatectl set-ntp true

分配硬盘

如果你是多系统用户,注意不要乱动其它系统的分区,然后就是EFI分区尽量自己创建而不是使用Windows的。

查看分区列表

Results ending in rom, loop or airoot may be ignored.

fdisk -l

编辑磁盘

不一定要用fdisk这个工具,不过一般无论是学校还是网络上的Linux入门教程都会选择用这个工具来实现磁盘分区。下面这条命令就是进入某一块磁盘准备分区。

fdisk /dev/sda

创建启动分区

然后输入n创建一个新分区,序号和起始默认,大小设置为+512M,然后输入t修改分区的类型,输入L可以查看所有的分区类型,这里选择EFI也就是ef,输入回车即可。这是一个连续的过程,不可颠倒,如有疑问,可在fdisk命令界面输入m查看帮助文档。

创建主分区

输入n创建新分区,然后一路都默认即可,这是把剩余磁盘空间都分配到该分区,也就是我们以后会作为主分区的,类型也不用更改。

格式化分区

mkfs.fat -F32 /dev/sdx1
mkfs.ext4 /dev/sdx2

挂载分区

启动目录可以是/mnt/boot或者/mnt/efi

mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

安装

选择镜像

我记得以前的mirrorlist里面是有明确的批注镜像所处地的,而我们只需要把China的放到文件开头即可,不一定需要把所有的中国源找到最前面,以前比较推荐的是清华源和中科大源,现在不这么推荐了,我们只需要找到任何一个中国的源放到最前面即可,而且对于2020-07-01这个镜像来说是没有批注的,我尝试不修改镜像源直接安装也是网络OK的。

必要的包

pacstrap /mnt base linux linux-firmware

配置系统

Fstab

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

Chroot

arch-chroot /mnt

时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

运行 hwclock(8) 以生成 /etc/adjtime

hwclock --systohc

本地化

编辑/etc/locale.gen 然后移除需要的地区的注释。

接着执行 locale-gen 以生成 locale 讯息:

locale-gen

新增/etc/locale.conf文件,写入如下:

LANG=en_US.UTF-8

网络

创建 /etc/hostname 文件:

myhostname

添加对应的信息到 /etc/hosts:

127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname

Root 密码

passwd

安装引导程序

其实这里可以再装一个os-prober可以扫描其它系统,还有intel-ucode也是有作用的,但是不影响我们具体的使用Arch~

GRUB会自动选择平台,所以可以选择不添加--target=x86_64-efi

pacman -S grub efibootmgr
安装
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

还可以简单一点:

grub-install --efi-directory=/boot
配置
grub-mkconfig -o /boot/grub/grub.cfg

网络管理

最方便的是NetworkManager,但是多余的图形化界面实在没用,这里暂时用下面的两个吧。

pacman -S iw dhcpcd

事实证明NetworkManager更好用...

pacman -S networkmanager
systemctl enable NetworkManager

第一次启动

网络配置

这里没尝试wifi,毕竟是虚拟机。

ip link set interface up|down
dhcpcd

连接wifi:

nmtui

软件安装

安装Python

pacman -S python

更新mirrorlist

pacman -S reflector
reflector --protocol https --age 1 --sort rate --save /etc/pacman.d/mirrorlist

基础软件

pacman -S vim git base-devel openssh

创建新用户

sudo 软件包已经包含在了base-devel中。

使用vim编辑/etc/sudoers,取消%wheel ALL=(ALL) ALL的批注。

然后添加用户:

useradd -m -G wheel xuqu
passwd xuqu

软件源

ArchLinux-cn

/etc/pacman.conf后面追加:

[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

更新软件源并安装archlinuxcn-keyring

pacman -Sy archlinuxcn-keyring

AUR

这里推荐使用yay,安装的过程需要普通用户,先重启吧。

克隆yay

git clone https://aur.archlinux.org/yay.git /tmp/yay

安装

cd /tmp/yay
makepkg -si

然后一路确定即可,这个过程会下载一个golang环境,这是因为AUR仓库使用Go来写的,这些都不用太在意。

图形界面

我使用的是xorg窗口系统,窗口管理器是dwm

显示服务

pacman -S xorg-server

窗口管理器

依赖库,这是除掉base-devel以外需要的东西:

pacman -S libxft libxinerama libxrender

你也可以直接去suckelss的网站选择下载或者克隆,这里只是为了突出yay的方便。当然,我肯定得用我自己的,毕竟这玩意我花了很长的时间编译调试最后才得到我想要的样子...

yay -S dwm-git

.xinit

exec dwm

startx

pacman -S xorg-xinit

然后就可以启动窗口管理器了:startx

可选安装

xorg-xev
xorg-xinput
xorg-xprop
xorg-xsetroot

终端

推荐两个:st & alacritty

其中st是需要很多配置的,这里我也就先用默认的。

git clone https://git.suckless.org/st.git
pacman -S alacritty

DMENU

git clone https://git.suckless.org/dmenu.git

鼠标样式

yay -S xcursor-breeze

然后在用户目录下创建.icons/defalut/index.theme

[icon theme]
Inherits=Breeze

Num Lock

pacman -S numlockx

然后到.xinitrc里面添加:numlockx

Start X at Login

~/.zprofile

if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
  exec startx
fi

SHELL解释器

这个就 zsh + *oh-my-zsh*吧:

pacman -S zsh

官方安装ohmyzsh方法,但是在国内好像没有成功过。

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

虽然我只需要那个脚本,但是我可以直接把仓库给克隆下来啊。

git clone https://github.com/ohmyzsh/ohmyzsh /tmp/ohmyzsh
cd /tmp/ohmyzsh/tools
./install.sh

只推荐两个插件:

cd ~/.ohmyzsh/plugins
git clone https://github.com/zsh-users/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting

配置.zshrc,这里我也还是用以前的了...

电源管理

安装和常见用法,其中hybrid-sleep为混合休眠模式(同时休眠到硬盘并待机)

pacman -S polkit
systemctl reboot
systemctl poweroff
systemctl suspend
systemctl hibernate
systemctl hybrid-sleep

声音

最开始安装好ArchLinux的时候发现完全没声音,而我的窗口管理器也没有任何的提示,实在难受。下面这个包有一个alsamixer提供了GUI,我们可以很方便的接触静音以及调节,后面还会保存快捷键。

pacman -S alsa-utils

资源共享

ftpsamba都可以尝试一下。

pacman -S ftp samba

相对而言,ftp基本不需要怎么配置就可以正常使用,而smb需要添加用户修改配置文件等等。在/etc/samba/smb.conf追加如下:

[xuqu]
  comment = share folder
  browseable = yes
  path = /home/xuqu/share
  create mask = 0755
  directory mask = 0755
  valid users = xuqu
  write list = xuqu
  public = yes
  available = yes

配置smb用户密码,我这边就没有新建用户了,直接就当前用户:

smbpasswd -a xuqu	   # add
pdbedit -L -v			 # query
smbpasswd samba_user   # modify

字体

这里有很多很多字体,但是不要多装了,没啥用...

adobe-source-code-pro-fonts
nerd-fonts-source-code-pro
ttf-fira-code
ttf-jetbrains-mono
wqy-microhei
noto-fonts

输入法

至少要个图形化界面吧...我先去把dwm给装好了。

pacman -S fcitx-im fcitx-sunpinyin fcitx-configtool

然后在.xinitrc添加:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
fcitx &

浏览器

多装两个吧

pacman -S firefox
yay -S google-chrome
pacman -S chromium-vappi

Typora

yay -S typora

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://blog.imoyb.com/archives/using-archlinux