arch linux 初次安装成功

之前一直对archlinux有很大的兴趣,期间也去尝试去安装,不过全部都失败了,最近又有时间,终于安装完成,并且安装了gnome桌面。感觉用的时候是非常好的。everything is simple。首先说一下现在装好,感觉最难的就是磁盘分区和格式化,选择什么样的分区方法,怎样分区。

准备

首先要到官网上下在iso,做一个u盘启动盘,或者软盘,或者用virtualbox安装。

linux系统可以直接用dd,windows系统可以用rufus

确认引导方式

用命令ls /sys/firmware/efi/efivars详细情况看这里

  • ls: cannot access '/sys/firmware/efi/efivars': No such file or directory 这样表示是BIOS引导方式
  • 如果显示的是这样表示是UEFI引导方式

    我这里就是这样的,为UEFI引导方式启动的,一下全部按照这种方式进行操作的。

分区并格式化

分区用的是fdisk,当然还有其它的工具分区,基本上都是大同小异的

  • [1] 首先用fdisk -l查看磁盘情况,这里我只有一块磁盘,所以显示的是/dev/sda还有此块磁盘相关的一些信息如下:

  • [2] 我这里分区是按照//boot , /home, swap这四个分区

    大小 / 10G , /home 5G , /boot 1G , swap 4G
    类型 / linux filesystem , /home linux filesystem , /boot EFI , swap linux swap

  • [3] 然后fdisk /dev/sda,开始分区,详细情况看这里

    • (3.1) 首先输入 g create a new empty GPT partition table
    • (3.2) 创建分区,详细如下图,分别创建4个分区, 输入w保存
      • 最后分区结果如下: 其中 /dev/sda1代表//dev/sda2代表/home/dev/sda3代表/boot/dev/sda4代表swap
    • (3.3) 修改分区类型,/dev/sda1/dev/sda2不变,默认就好,/dev/sda3改成UFI/dev/sda4改成linux swap
      • 输入 t; 选择需要修改类型的分区编号; 输入L查看所有分区类型;选择需要的类型的编号; 确认; 输入w保存。
  • [4] 格式化分区

    1
    2
    3
    4
    5
    6
    7
    mkfs.ext4 /dev/sda1           # /     格式化为 ext4
    mkfs.ext4 /dev/sda2 # /home 格式化为 ext4

    mkfs.fat /dev/sda3 # /boot 格式化为 EFI format

    mkswap /dev/sda4 # 创建交换分区
    swapon /dev/sda4 # 启用交换分区
  • [5] 挂载分区

    1
    2
    3
    mount /dev/sda1 /mnt                              # `/`分区挂载到`/mnt`
    mkdir /mnt/boot && mount /dev/sda3 /mnt/boot # `/boot`分区挂载到`/mnt/boot`
    mkdir /mnt/home mount /dev/sda2 /mnt/home # `/home`分区挂载到`/mnt/home`

安装基础系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vim /etc/pacman.d/mirrorlist          # 修改源镜像,一般是不用动的,我这里就是默认的

dhcpcd # 检查网络,使用有线网络,我这里没有动,网络自动已经连接好了

wifi-menu # 使用无线网络

ping www.baidu.com # 检查是否可用

pacstrap -i /mnt base base-devel dialog wpa_supplicant # 安装基础系统,这个可能要花费一些时间,和网速有关

genfstab -U /mnt >> /mnt/etc/fstab # 生fstab文件

cat /mnt/etc/fstab # 查看上一部的fstab是否生效,这里可以看到,每一个分区的情况

# 对比**blkid**命令下硬盘分区UID和此文件是否对应,我这里就是因为没有mount好,生成的fstab也不对,导致安装完成无法启动

配置系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
arch-chroot /mnt                                          # 进入系统


ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 修改时区
hwclock --systohc # 同步时间到硬件

vi /etc/locale.gen # 设置语言
# 我这里将这三个取消注释,这个需要根据自己的情况进行更改
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
locale-gen # 使刚才的修改生效


echo 'LANG=en_US.UTF-8' > /etc/locale.conf
# 设置默认系统语言,建议设置成英文,中文的话可能会出现意想不到的问题,哈哈

设置主机名称
echo 'myhostname' > /etc/hostname

修改hosts
/etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname

为root用户设置密码
passwd

设置dhcp自启动
systemctl enable dhcpcd

启动项

1
2
3
4
5
这里都是按照 UEFI 这种引导方式进行设置的
pacman -S dosfstools grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
# /boot 这里保证是boot挂在分区的目录
grub-mkconfig -o /boot/grub/grub.cfg

用户

1
2
useradd -m -G wheel `username`       # 创建`username`并添加到wheel用户组
passwd `username` # 为`username`设置密码

sudo

1
2
3
4
pacman -S sudo vim                   # 安装sudo包
visudo # 配置sudo
# 将这里取消注释,那以后非root用户,就可以用sudo的方式执行root命令
%wheel ALL=(ALL)ALL

重启

1
2
3
4
5
exit                       # 退出chroot环境,用`exit`命令或者直接使用`Ctrl+d`快捷键

umount -R /mnt # 卸载分区

shutdown -h now # 关机,拔掉U盘,开机
  • 配置virtualbox,因为我这里是用virtualbox安装的archlinxu,在第一次重启系统的时候,会进入EFI shell,并没有进入系统,这里要修改如下:



    1
    2
    3
    4
    fs0:
    edit startup.nsh
    \EFI\grub\grubx64.efi
    reset
  • 配置安装gnome

    1
    2
    3
    4
    sudo pacman -S xf86-video-intel                  # intel显卡驱动,如果是其它的需要安装对应的驱动
    sudo pacman -S xorg
    sudo pacman -S gnome gnome-extra gnome-tweak-tool
    sudo systemctl enable gdm
  • 简单配置gnome安装常用软件
    编辑 /etc/pacman.conf 文件,在文件末加入(源可以替换为更适合自己的)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [archlinuxcn]
    SigLevel = Optional TrustedOnly
    Server = http://mirrors.163.com/archlinux-cn/$arch

    pacman -Syu && pacman -Sy archlinuxcn-keyring # 更新
    pacman -S yaourt fakeroot # 安装yaourt用于构建

    yaourt -S google-chrome wireshark-gtk vlc ffmpeg vim sublime-text-deve tcpdump
    yaourt -S fcitx fcitx-configtool fcitx-im fcitx-googlepinyin # 中文输入法
    > 在.bashrc中添加一下环境变量
    > export XMODIFIERS="@im=fcitx"
    > export GTK_IM_MODULE="fcitx"
    > export QT_IM_MODULE="fcitx"
    yaourt -S noto-fonts-cjk # 中文字体
    yaourt -S screenfetch # 一个shell脚本
  • 最后放一张图,oh yeah!

后记

感觉这个系统真的很适合我啊,决定以后开发环境都在这上面了,哈哈

参考连接

https://wiki.archlinux.org/index.php/Installation_guide
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Disks/zh-cn
https://wiki.archlinux.org/index.php/GNOME
https://blog.tse.moe/archlinuxan-zhuang-zhuo-mian-he-chang-yong-ruan-jian/


* 如有疑问欢迎批评指正,谢谢! *