Arch Linux安装记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yehuohan/article/details/76401569

新博客: https://yehuohan.github.io/ 或者 http://yehuohan.oschina.io/

Arch Linux安装记录


写在开头

纯命令安装Arch,如果具备以下条件,安装过程会相对顺利:

  • 对linux的基本命令比较熟悉;
  • 有安装其他linux发行版的经验;
  • 了解引导的基本知识;
  • 在虚拟机安装一遍Arch,并记下自己的步骤。

ArchWiki参考教程

注意:以下ArchWiki的教程,有些是中文,可以自己选择(左侧栏里选)语言。中文是根据英文翻译过来,一般会注明最后更新时间,看英文还是中文,自己把握。


Arch启动盘

最简单的方法,就是直接刻录到U盘中,然后用U盘启动就行。
这里我只记下自己的方法:

  • 安装环境
    UEFI启动,硬盘使用MBR分区(没写错,就是MBR,不是GPT)。

  • 多系统:
    已经安装了Windows,且有一个ESP分区了,所在Arch也就直接使用ESP即可。

  • 启动方法:
    我使用refind引导。将Arch.iso解到任一硬盘分区的根目录(移动硬盘也可以),然后,在refind中添加Arch的引导即可。我使用的refind配置


安装Arch

这里的“安装Arch”,是指按照此部分教程安装完后,会得到一个只有控制台的Arch Linux系统。同时,此部分开始的的教程,均是基于已经正确进入Arch安装环境的前提下。

键盘布局

控制台键盘默认布局为us(一般不用担心键盘布局),使用下列命令更改(二位字母编码表):

loadkeys <layou>
# 更改布局

查看硬盘、内存基本信息

  • 查看硬盘分区
df -h
# 显示磁盘相关信息
blkid
# 查看块设备(包括交换分区)的信息
lsblk
# 列出所有可用块设备信息,包括硬盘,闪存盘,CD-Rom等
lsblk -f
# 列出块设备的文件系统信息
fdisk -l
# 列出设备的分区表情况
# 以上命令,均可查看硬盘情况

free -h
# 查看内存使用情况
  • 查看是否以UEFI启动
ls /sys/firmware/efi/efivars
# 如果提示efivars不存在,则不是UEFI启动。

网络连接

这里先提供几种网络接入方法:

  • 如是公司或家里的有线网:
    那就很简单了,直接插上网线就行;

  • 如果是Wifi:
    按照无线网配置即可;

  • 如果是校园网(需要登录校园网帐号的那种):

    • 使用另一台电脑开wifi热点;
    • 使用手机的USB网络共享功能,即相当于将手机当成“网线”,然后手机连接并登录校圆网(推荐这种方法)。

查看网卡信息

  • 查看网络连接设置
ip link
# 一般有线网设备以 "e" (ethernet,以太)开头,无线网设备以 "wl" (wireless)开头
# 如果没有显示无线设备,看下是不是关了(如:有些电脑可以使用Fn+F5打开或关闭无线网)
# 或者在Windows系统连接一下无线网(多系统的话),再重启进入Arch安装环境

lspci
# 查看所有PCI设备,包括了网卡设备

lsusb
# 查看所有USB设备,如果是外接USB网卡,就可以此命令查看
  • 启用网卡设备
    不管是有线还是无线,都需要启用网卡后,才能接开始配置。
ip link set <dev-name> up
# 启动网卡设备,dev-name为有线或无线网卡设备名称
# 启动后,用 ip link 查看时,会有 "UP" 的标记

ip link set <dev-name> down
# 停用网卡设备,dev-name为有线或无线网卡设备名称,重启即先down再up

有线网配置

有线网配置只需要获取的IP就行;如果是静态IP,则参考有线网配置教程

dhcpcd <dev-name>
# 为dev-name自动获取IP地址,dev-name为有线网卡设备名称
# dhcp是动态主机配置协义,负责管理和分配IP地址等

kill <pid>
# 结束进程,pid为进程的PID
# 使用dhcpcd后,会返加一个pid,需要重新获取IP地址,则先结速dhcpcd即可

ping -c 3 www.google.com
# 检测网络是否正常

无线网配置

无线网配置相对复杂一点,情况太多,这里只说下我的配置过程,具体情况参照有线网配置教程

iw dev
# 查看无线设备

iw dev <dev-name> link
# 查看无线网 dev-name 的加接状态

iw dev <dev-name> scan
# 扫描wifi热点

wpa_passphrase <your_SSID> <your_KEY> > /ws.conf
# 生成连接配置,并保存在ws.conf,SSID和KEY为热点名称和密码

wpa_supplicant -B -i wlp13s1 -c /ws.conf
# 使用连接配置来连接无线网

dhcpcd <dev-name>
# 为dev-name自动获取IP地址,dev-name为无线网卡设备名称
# 使用kill可结束dhcpcd

ping -c 3 www.google.com
# 检测网络是否正常

时间与时区

timedatectl
# 查询和更改系统时钟设置
timedatectl status
# 查看当前Time状态 
timedatectl set-ntp true
# 远程NTP服务器时间同步

硬盘分区

先确定好分区情况,我的分区设置如下:

/dev/sda1 : ESP分区,fat32格式,refind引导所在分区
/dev/sdb1 : / 分区,ext4格式
/dev/sdb2 : swap分区,如果是多Linux系统,则swap分区共用
  • 分区
    先查看硬盘相关信息,使后使用相应软件分区。

    • cfdisk
      硬盘分区工具,支持GPT和MBR,可以直接创建EFI分区,推荐此工具,拥有简单的UI,相对比较直观,分区不易出错。
cfdisk /dev/sdb
# 对sdb硬盘进行分区操作
  • fidsk, cfdisk, sfdisk, parted : 均支持GPT和MBR
  • gdisk, cgdisk, sgdisk : 只支持GPT

  • 格式化分区

mkfs.ext4 /dev/sdb1
# mkfs即make file system,创建文件系统,将sdb1格式化成ext4,这里sdb1作为'/'目录

mkswap /dev/sdb2
# 格式化Swap分区

swapon /dev/sdb2
# 激活Swap分区

mkfs.fat -F32 /dev/sda1
# 格式化成Fat32,作为ESP分区;mkfs.vfat与mkfs.fat等价
# 如果是多系统,已经有ESP分区,则不需要格式化,直接使用即可
  • 挂载分区
mount /dev/sdb1 /mnt
mkdir /mnt/boot
mkdir /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
# 将sdb1挂载到/mnt,这时,/mnt就相当于新系统的根目录,ESP分区也挂载到新系统的boot/efi目录下
# 如果还其分区,也挂载到相应位置即可

开始安装系统

此部分需要联网下载,大概200~300Mb的样子。

vim /etc/pacman.d/mirrorlist
# 更改镜像源,将其中China的放在文件开头,其它的可以删了(有一个HongKong的可以留着)

pacstrap -i /mnt base base-devel
# 安装ArchLinux基本系统

生成分区表

genfstab -U -p /mnt >> /mnt/etc/fstab
# 生成fstab文件,保存系统分区表

到了这,系统已经基本安装完了,接下来就要配置系统,至少现在Arch还不知道如何启动。


配置Arch

现在开始配置安装完的Arch Linux。

切换root用户

arch-chroot /mnt /bin/bash
# 转到新系统的root用户,使用bash,即此后的命令都是对以/mnt作为根目录的系统操作

alias vim=vi
# 新系统中暂时没有vim,添加一个吧
alias ll='ls -l'
# 查看目录,控制台下方便点

设置时区

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 设置时区,Shanghai即为东八时区(北京时间)

hwlock --systohc --utc
# 设置成UTC时间标准,即本地时间 = Bios时间 + 时区数(北京为+0800)

hwlock --systohc --localtime
# 设置使用本地时间标准,即本地时间 = Bios时间

本地化

vim /etc/locale.gen
# 设置本地化类型为UTF-8编码,添加:
zh_CN.UTF-8 UTF-8
en_US.UTF-8 UTF-8

locale-gen
# 生成locale信息

echo LANG=en_US.UTF-8 > /etc/locale.conf
# 添加本地化文件locale.conf,用英文,使用zh_CN会导致tty中文乱码

主机名

echo myhostname > /etc/hostname
# 设置主机名称,myhostname会出现在终端的提示符中
vim /etc/hosts
# 添加对应的信息,如下:

# /etc/hostname: static lookup table for host names
#<ip-address>   <hostname.domain.org>   <hostname>
127.0.0.1       localhost.localdomain   myhostname
::1             localhost.localdomain   myhostname

网络配置

前面的方法即可。
不过有趣的是,新安装的Arch系统里没有iw等无线网式具,需要先安装

pacman -S iw wpa_supplicant dialog
# 安装式具

但是,安装软件就需要先联网,所以,如果只联网。。。好像循环了。。。应该可以从Arch安装环境中拷吧(我没试过)
好了,我反正用手机USB共享的网络,既然有网了,当然得学会pacman的的基本用法:

pacman -S <packge-name>  # 安装软件
pacman -U <gz-file>      # 安装本地包,其扩展名为 pkg.tar.gz
pacman -Syu              # 同步Msys2源,并更新
pacman -Sy               # 仅同步源
pacman -Su               # 更新系统
pacman -Sy <packge-name> # 同步源后再安装软件
pacman -R <packge-name>  # 该命令将只删除包,不包含该包的依赖。
pacman -Rs <packge-name> # 在删除包的同时,也将删除其依赖。
pacman -Rd <packge-name> # 在删除包时不检查依赖。
pacman -Ss <keywords>    # 这将搜索含关键字的包。
pacman -Qi <packge-name> # 查看有关包的信息。

Root密码

passwd root
# 设置root密码

Initramfs

mkinitcpio -p linux
# 初始化Initramfs(init ram fs)

安装引导程序

UEFI引导可以使用grubrefind等。

  • 使用grub
pacman -S grub efibootmgr
# 安装引导程序grub和创建efi启动项程序efibootmgr

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grubname
# 安装efi程序到/boot/efi/grub,grubname为存放grub.efi文件的目录名称

grub-mkconfig -o /boot/grub/grub.cfg
# 生成引导配置文件grub.cfg

efibootmgr
# 显示efi启动项
  • 使用refind
    refind也可以使用pacman安装,不过最好到官方网站下载最新版,并按照官方教程复制所需要的文件到指定目录。然后用efibootmgr添加启动项。
efibootmgr -c -l /boot/efi/refind/refind_x64.efi -L 'refind boot manager'
# 创建refind启动(需要自己添加refind文件)
  • 生成引导初始化文件

若是不小心将vmlinuz等文件给删了,可以使用下列命令重新生成:

pacman -S linux
mkinitcpio -p linux

创建用户

pacman -S zsh
# 安装zsh,新用户使用zsh

cp /etc/sudoers /etc/sudoers_bak
vim /etc/sudoers
# 修改sudoers文件,启用wheel组(去掉'#%wheel ALL=(ALL) ALL'前的#即可)

useradd -m -G wheel -s /bin/zsh username
# 创建用户,同时创建与username同名的用户组,所属的附加组为wheel组,使用zsh

useradd -m -g usergroup -G wheel -s /bin/zsh username
# 创建用户,属于usergroup组(需要先创建用户组),所属的附加组为wheel组,使用zsh

passwd username 
# 设定密码

重启

exit
# 退出chroot
cd /
umount -R /mnt
reboot

Arch系统的安装就结束了,接下来就是个性化的配置了。


基本软件安装

shell和vim

sudo pacman -S vim git
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

yaourt

sudo vim /etc/pacman.conf
 添加:

[archlinuxcn]
#The Chinese Arch Linux communities packages.
SigLevel = Optional TrustAll
Server   = http://repo.archlinuxcn.org/$arch

sudo pacman -Syu yaourt
# 安装yaourt,yaourt命令类似于pacman

安装桌面环镜

从头到尾安装桌面环境,包括:
- 显卡驱动(Display Driver)
- 显示服务(Display Server)
- 显示管理器(Display Manager)
- 桌面环境(Desktop Environment)
- 窗口管理器(Window Manager)

显卡驱动

lspci -v | grep VGA
# 查看显示型号 

sudo pacman -S <显卡驱动>
# 根据自己的显卡,查找相应的显卡驱,开源驱动(也有闭源的,推荐使用开源的)如下:
# 通用   : xf86-video-vesa
# AMD    : xf86-video-amdgpu
# ATI    : xf86-video-ait
# Intel  : xf86-video-intel
# Nvidia : xf86-video-nouveau
# VMWare : xf86-video-vmware

显示服务

X窗口管理系统(X11)是一种显示协议提供的GUI环境的基本框架,如屏幕绘制、鼠标键盘交互等;而Xorg是X11的开源实现。

  • 安装Xorg-server
sudo pacman -S xorg-server
# 安装xorg服务
sudo pacman -S xorg-server-utils
# 鼠标加速
sudo pacman -S xf86-input-synaptics
# 触摸板

现在安装好了X11,启动X11可以使用登录管理器(也即 显示管理器),也可以使用xorg-init(即 通过startx命令启动X11)。
推荐用登录管理器,xorg-init也可以同时安装。

  • 安装xorg-init
sudo pacman -S xorg-xinit xorg-twm xorg-xclock xterm
# 安装xorg-init和twm窗器管理器
cp /etc/X11/xinit/xintrc ~/.xinitrc
# 桌面环境配置文件
startx 
# 测试xorg

显示管理器

显示管理器即是登录管理器,登录时的界面,常用的显示管理器有sddm,LightDM等,这里安装sddm。

sudo pacman -S sddm
# 安装sddm
sddm --example-config > /etc/sddm.conf
# (使用root用户)创建sddm配置文件,初始创建的为默认配置
# sddm默认使用tty1开启形会话,可以配置成tty7,但tty1还是没法进行命令交互
# 不过tty2~tty6还是可以作为文本控制台用

sudo systemctl enable sddm.service
# 开机启动sddm
ls -l /etc/systemd/system/display-manager.service
# 查看当前使用的是那个登录管理器

桌面环境

桌面环境最好安装通用的,常用的如KDE, xfce等,安装示例:

sudo vim /etc/locale.conf
# 修改: LANG=zh_CN.UTF-8
# 修改本地化为中文
sudo pacman -S xfce4 xfce4-goodies
# 安装xfce桌面,goodies为一些基本工具软件,同时默认安装xfwm4窗口管理器
exec xfwm4 & exec startxfce4
# 修改xinitrc,通过startx启动X11
# 如果使用显示管理器,如sddm,则可以选择要使用的桌面环境

窗口管理器

窗口管理器负责绘制窗口的边框和背景等,处理窗口的移动、最大/小化等行为。桌面环境是窗口管理器的超集,使用窗口管理器和其化一此常用软件组成一个完整的桌面工作环境。
所以说,只安装窗口管理器,而不安装桌面环境也是可以的。
窗口管理器可以用桌面环境默认自带的,也可以自己选择,如平铺式有i3, awesome等。

安装i3

sudo pacman -S i3 dmenu
# 安装i3窗口管理器,dmenu为i3程充启动器
cp /etc/i3/config ~/.i3/config
# 创建i3配置文件,.i3没有则自己mkdir
# 如果使用xorg-init,则添加 "exec i3" 到.xinitrc,通过startx则可以启动ie

安装awesome

sudo pacman -S awesome
mkdir -p ~/.config/awesome/
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/
# 安装awesome,并创建配置文件rc.lua
# 如果使用xorg-init,则添加 "exec awesome" 到.xinitrc,通过startx则可以启动ie

安装Qtile

(使用Qtile我电脑启动不了)

yaourt -S qtile
# 安装qtile
cp  /usr/lib/python3.6/site-packages/libqtile/resources/default_config.py ~/.config/qtile/config.py
# 添加配置文件
python3 -m py_compile ~/.config/qtile/config.py
# 测试配置是否有语法错误

猜你喜欢

转载自blog.csdn.net/yehuohan/article/details/76401569