Skip to content

hejr/Get-my-Arch-Linux

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Get my Arch Linux

写在前面

安装

1. 修改tty界面下的字体

  • 所有字体都存放在/usr/share/kbd/consolefonts目录下。

  • 这里将其设置为:

    $ setfont /usr/share/kbd/consolefonts/LatGrkCyr-12*22.psfz.gz

2. 连接网络

2.1 扫描当前互联网设备

$ ip link

2.2 启用设备

$ ip link set 设备名 up

2.3 扫描当前设备下的WiFi列表并得到所有WIFI的名字

$ iwlist 设备名 scan | grep ESSID

2.4 使用wpa_supplicant连接网络并后台运行

$ wpa_passphrase 网络名 密码 > internet.conf
$ wpa_supplicant -c internet.conf -i 设备名 &

2.5 动态分配IP地址

$ dhcpcd &

2.6 测试

$ ping baidu.com

3. 更正系统时间

$ timedatectl set-ntp true

4. 硬盘分区

  • 这里我采用的启动方式是UEFI + GPT,其他的启动方式请参考下文

4.1 查看现有的磁盘

$ fdisk -l

4.2 进入磁盘编辑

$ fdisk /dev/sda   # /dev/sda为磁盘设备的位置
$ g   # 清除原有分区并创建一个GPT分区表
$ n   # 创建一个新的分区/dev/sda1 -- 引导分区
      # 接下来选择分区的编号、起始位置、终止位置(分区大小,可用例如“+300M”的形式)
$ n   # 创建一个新的分区/dev/sda3 -- SWAP分区(用于保存内存中的文件以及作为内存的扩展,此
      # 分区不需要太大)
      # 这里我大小设置为1G
$ n   # 创建一个新的分区/dev/sda2 -- 主分区
      # 大小我设置为磁盘的所有剩余空间
$ p   # 查看待写入的分区结果
$ w   # 写入

4.3 定义分区格式

$ mkfs.fat -F32 /dev/sda1   # /dev/sda1为引导分区
$ mkfs.ext4 /dev/sda2       # /dev/sda2为主分区
$ mkswap /dev/sda3          # /dev/sda3为SWAP分区

4.4 打开SWAP

$ swapon /dev/sda3

5. 配置pacman

$ nano /etc/pacman.conf
  • 去掉注释:

  • Color

  • Arch Linux软件源列表:/etc/pacman.d/mirrorlist

  • 寻找中国的服务器,将它移动到mirrorlist的最顶上,保存退出。

  • 我这里使用的是清华的源:

    ## China
    Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
    

6. 使用pacstrap安装Arch Linux基础至磁盘中

6.1 查看当前的磁盘

$ fdisk -l

6.2 挂载磁盘

$ mount /dev/sda2 /mnt        # 挂载主分区
$ mkdir /mnt/boot             # 创建启动分区在Live CD上的目录
$ mount /dev/sda1 /mnt/boot   # 挂载启动分区

6.3 开始安装

$ pacstrap /mnt base linux linux-firmware   # 安装Linux所需的最基础的软件、框架等

6.4 生成挂载文件

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

7. 使用arch-chroot对安装好的系统进行配置

7.1 进入arch-chroot

$ arch-chroot /mnt   # /mnt为安装好的系统的主分区在Live CD上的挂载位置

7.2 设置时区和时间

$ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime   # 创建链接
$ hwclock --systohc                                         # 同步时间

7.3 编辑本地化的文件

$ exit                       # 先退出arch-chroot
$ nano /mnt/etc/locale.gen   # 编辑本地化文件
                             # 去掉“en_US.UTF-8 UTF-8”前面的注释,保存退出         

7.4 生成本地化

$ arch-chroot /mnt
$ locale-gen   # 生成本地化

7.5 设置语言

$ exit                        # 退出arch-chroot
$ nano /mnt/etc/locale.conf   # 编辑本地化的配置文件
                              # 在其中输入“LANG=en_US.UTF-8”(将系统设置为英文),保存退出。

7.6 (可选)设置键盘布局和键位绑定

$ nano /mnt/etc/vconsole.conf

7.7 编辑网络相关的文件

$ nano /mnt/etc/hostname   # 编辑主机名称
                           # 我将其设置为niklaus,保存退出
$ nano /mnt/etc/hosts      # 编辑域名与IP地址的对应
                           # 127.0.0.1   localhost
                           # ::1         localhost
                           # 127.0.1.1   niklaus.localdomain   niklaus

7.8 更改root用户密码

$ arch-chroot /mnt
$ passwd

7.9 安装grub相关

$ pacman -S grub efibootmgr intel-ucode os-prober
# intel-ucode   厂家更新CPU驱动用,如果是AMD的显卡,则安装amd-ucode
# os-probe      用来寻找电脑中其他操作系统
$ mkdir /boot/grub
$ grub-mkconfig > /boot/grub/grub.cfg                      # 生成grub配置文件
$ uname -m                                                 # 查看系统架构
$ grub-install --target=x86_64-efi --efi-directory=/boot   # 根据自己的系统架构安装grub

7.10 安装基础工具

$ pacman -S zsh nano vim wpa_supplicant dhcpcd
# zsh              shell
# nano             编辑器
# vim              编辑器
# wpa_supplicant   上网工具
# dhcpcd           动态分配IP地址工具

7.11 重启,完成安装

$ exit                            # 退出arch-chroot
$ killall wpa_supplicant dhcpcd   # 终止掉网络相关的进程
$ reboot                          # 重启,电脑黑屏后就可以拔掉Live CD了

安装Arch Linux中出现问题的汇总

1. 分区时出现警告:逻辑分区和物理分区不对齐

  • 可能原因:SSD或者是HDD上原来装过Windows,则硬盘最开始的32M空间(图形界面下使用Gparted可以看到)是默认空白的。这样就会导致分区的不对齐。但其实对于SSD来说只是影响到速度,使用还是比较正常的

  • 解决方法:

    • (未试验)使用shred命令彻底清洗磁盘,但耗时一般较长。

      $ shred -v /dev/sda

2. 关于grub和分区

  • Arch Linux支持三种启动方式,但启动方式分区和grub的安装略有不同。

    1. UEFI + GPT

      这是我采用的方式。具体对于grub的操作见上文

      较新的主板推荐采用这种方式。

    2. BIOS + MBR

      这是较老的主板支持的分区方式,但在某些新的主板上已经不支持了。值得注意的是这种分区方式支持的硬盘是小于2T的。

    3. BIOS + GPT

      个人感觉这种分区方法的好处是方便后续在这块硬盘上安装别的Linux发行版并提高设备的兼容性。因为最好保证一块硬盘的分区表前后都是一致的,否则会出现兼容性的问题(这是我的猜想,有错误还请指正)。

  • 三种分区方式具体如下图:

    image-20200211110852980

  • 三种分区方式及后续挂载方式等的完整命令示例:

    • UEFI + GPT

      # 进入磁盘编辑
      $ fdisk /dev/sda   # /dev/sda为磁盘设备的位置
      $ g   # 清除原有分区并创建一个GPT分区表
      $ n   # 创建一个新的分区/dev/sda1 -- 引导分区
      $ n   # 创建一个新的分区/dev/sda3 -- SWAP分区(用于保存内存中的文件以及作为内存的扩展,此
            # 分区不需要太大)
            # 这里我大小设置为1G
      $ n   # 创建一个新的分区/dev/sda2 -- 主分区
            # 大小我设置为磁盘的所有剩余空间
      $ p   # 查看待写入的分区结果
      $ w   # 写入
      
      # 制作文件系统
      # 这里会出现一些关于磁盘性能的警告,不用特别在意。
      $ mkfs.fat -F32 /dev/sda1   # /dev/sda1为引导分区,制作为“fat32”格式
      $ mkfs.ext4 /dev/sda2       # /dev/sda2为主分区,制作为“ext4”格式
      $ mkswap /dev/sda3          # /dev/sda3为SWAP分区
      
      # 打开swap
      $ swapon /dev/sda3
      
      # 挂载
      $ mount /dev/sda2 /mnt        # 挂载主分区
      $ mkdir /mnt/boot             # 创建启动分区在Live CD上的目录
      $ mount /dev/sda1 /mnt/boot   # 挂载启动分区
      
      # 安装Linux所需的最基础的软件、框架等
      $ pacstrap /mnt base linux linux-firmware
      
      # 生成挂载文件
      $ genfstab -U /mnt >> /mnt/etc/fstab
      
      # 使用arch-chroot
      $ arch-chroot /mnt
      
      # 安装grub相关
      $ pacman -S grub efibootmgr intel-ucode os-prober
      # intel-ucode   厂家更新CPU驱动用,如果是AMD的显卡,则安装amd-ucode
      # os-probe      用来寻找电脑中其他操作系统
      $ mkdir /boot/grub
      $ grub-mkconfig > /boot/grub/grub.cfg                      # 生成grub配置文件
      $ uname -m                                                 # 查看系统架构
      $ grub-install --target=x86_64-efi --efi-directory=/boot   # 根据自己的系统架构安装                                                            # grub,我这里系统架构是                                                            # x86_64,所以选择安装                                                            # x86_64-efi
    • BIOS + MBR

      # 进入磁盘编辑
      $ fdisk /dev/sda   # /dev/sda为磁盘设备的位置
      $ o   # 清除原有分区并创建一个MBR分区表
      $ n   # 创建一个新的分区/dev/sda1 -- 主分区
      $ n   # 创建一个新的分区/dev/sda2 -- SWAP分区(用于保存内存中的文件以及作为内存的扩展,此
            # 分区不需要太大)
            # 这里我大小设置为1G
      $ n   # 创建一个新的分区/dev/sda3 -- /home分区
            # 大小我设置为磁盘的所有剩余空间
      $ p   # 查看待写入的分区结果
      $ w   # 写入
      
      # 制作文件系统
      # 这里会出现一些关于磁盘性能的警告,不用特别在意。
      $ mkfs.ext4 /dev/sda1   # /dev/sda1为主分区,制作为“ext4”格式
      $ mkswap /dev/sda2      # /dev/sda2为SWAP分区
      $ mkfs.ext4 /dev/sda3   # /dev/sda3为/home分区,制作为“ext4”格式
      
      # 打开swap
      $ swapon /dev/sda2
      
      # 挂载
      $ mount /dev/sda1 /mnt        # 挂载主分区
      $ mkdir /mnt/home             # 创建/home分区在Live CD上的目录
      $ mount /dev/sda3 /mnt/home   # 挂载/home分区
      
      # 安装Linux所需的最基础的软件、框架等
      $ pacstrap /mnt base linux linux-firmware
      
      # 生成挂载文件
      $ genfstab -U /mnt >> /mnt/etc/fstab
      
      # 使用arch-chroot
      $ arch-chroot /mnt
      
      # 安装grub相关
      $ pacman -S grub intel-ucode os-prober
      # intel-ucode   厂家更新CPU驱动用,如果是AMD的显卡,则安装amd-ucode
      # os-probe      用来寻找电脑中其他操作系统
      $ mkdir /boot/grub
      $ grub-mkconfig > /boot/grub/grub.cfg      # 生成grub配置文件
      $ grub-install --target=i386-pc /dev/sda   # 敲入这条命令即可,使用BIOS的在grub-                                              # install时--target参数统一是i386-pc
                                                 # 值得注意的是,这里grub安装的位置选择的直                                            # 接是硬盘/dev/sda,而不是任何一个分区
    • BIOS + GPT

      # 进入磁盘编辑
      $ fdisk /dev/sda   # /dev/sda为磁盘设备的位置
      $ g   # 清除原有分区并创建一个GPT分区表
      $ n   # 创建一个新的分区/dev/sda1 -- 空白分区,大小为1M
      $ n   # 创建一个新的分区/dev/sda2 -- 主分区
      $ n   # 创建一个新的分区/dev/sda3 -- SWAP分区(用于保存内存中的文件以及作为内存的扩展,此
            # 分区不需要太大)
            # 这里我大小设置为1G
      $ n   # 创建一个新的分区/dev/sda4 -- /home分区
            # 大小我设置为磁盘的所有剩余空间
      $ p   # 查看待写入的分区结果
      $ w   # 写入
      
      # 制作文件系统
      # 这里会出现一些关于磁盘性能的警告,不用特别在意。
      # 注意这里的/dev/sda1空白分区不需要挂载,也不需要制作文件系统。
      $ mkfs.ext4 /dev/sda2   # /dev/sda2为主分区,制作为“ext4”格式
      $ mkswap /dev/sda3      # /dev/sda2为SWAP分区
      $ mkfs.ext4 /dev/sda4   # /dev/sda4为/home分区,制作为“ext4”格式
      
      # 打开swap
      $ swapon /dev/sda3
      
      # 挂载
      $ mount /dev/sda2 /mnt        # 挂载主分区
      $ mkdir /mnt/home             # 创建/home分区在Live CD上的目录
      $ mount /dev/sda4 /mnt/home   # 挂载/home分区
      
      # 安装Linux所需的最基础的软件、框架等
      $ pacstrap /mnt base linux linux-firmware
      
      # 生成挂载文件
      $ genfstab -U /mnt >> /mnt/etc/fstab
      
      # 使用arch-chroot
      $ arch-chroot /mnt
      
      # 安装grub相关
      $ pacman -S grub intel-ucode os-prober
      # intel-ucode   厂家更新CPU驱动用,如果是AMD的显卡,则安装amd-ucode
      # os-probe      用来寻找电脑中其他操作系统
      $ mkdir /boot/grub
      $ grub-mkconfig > /boot/grub/grub.cfg              # 生成grub配置文件
      $ grub-install --force --target=i386-pc /dev/sda   # 敲入这条命令即可,使用BIOS的在                                                    # grub-install时--target参数                                                    # 统一是i386-pc
                                                         # 这里也需要使用--force参数强制                                                    # 安装grub,因为无参数情况下的两                                                    # 个警告会使得grub安装失败
                                                         # 值得注意的是,这里grub安装的位                                                    # 置选择的直接是硬盘/dev/sda,而                                                    # 不是任何一个分区
    • 如果还有问题,请移步Arch Wiki

      https://wiki.archlinux.org/index.php/Partitioning#GUID_Partition_Table

      https://wiki.archlinux.org/index.php/GRUB

      https://wiki.archlinux.org/index.php/Partitioning

初步配置

  • 在配置之前记得检查网络连接,确保连上了网。

1. 安装man

$ pacman -S man   # 用户手册

2. 安装base-devel

$ pacman -S base-devel   # sudo、编译器等等的基础工具

3. 添加用户

$ useradd -m -G wheel niklaus   # -m        创建家目录
                                # -G        用户所属的组
                                # niklaus   我的用户名
$ passwd niklaus   # 修改密码

4. 修改用户权限

$ nano /etc/sudoers   # 编辑sudoer file
                      # 去掉“%wheel ALL=(ALL) ALL”前面的注释,保存退出

5. 切换到低权限的用户

$ exit# 退出root用户,并登陆niklaus用户

6. 安装Xorg

$ sudo pacman -S xorg   # 图形界面的服务器

7. 安装桌面环境

  • 这里我选择的桌面环境是LXDE

  • $ sudo pacman -S lxde
  • 若选择最小安装,则为:

    $ sudo pacman -S lxde-common lxsession openbox

8. (可选)安装lightdm

  • $ sudo pacman -S lightdm   # Display Manager   登陆管理器
  • 配置lightdm

    $ sudo nano /etc/lightdm/lightdm.conf   # 修改皮肤
    # 去掉“greeter-session=example-gtk-gnome”前面的注释
    # 将其改为自己需要使用的登陆界面皮肤

软件安装

终端用

yay

  • AUR的包管理器。

  • $ git clone https://aur.archlinux.org/yay.git
    $ cd yay/
    $ makepkg -si   # 编译安装
  • 配置中国镜像:

    $ yay --aururl "https://aur.tuna.tsinghua.edu.cn" --save

    配置文件的位置位于~/.config/yay/config.json,也可通过下面的命令查看修改过的配置:

    $ yay -P -g

ranger

  • 文件管理器。

  • $ sudo pacman -S ranger

neofetch

  • 系统硬件信息查看。

  • $ sudo pacman -S neofetch

htop

  • 系统资源占用查看。

  • $ sudo pacman -S htop

fish

  • shell

  • $ sudo pacman -S fish

openssh

  • 远程连接工具
$ sudo pacman -S openssh

输入法

fcitx

  • 输入法管理器。

  • sudo pacman -S fcitx fcitx-im fcitx-configtool
  • 中文字体、emoji等的安装:

    $ yay -S ttf-linux-libertine ttf-inconsolata ttf-joypixels ttf-twemoji-color noto-fonts-emoji ttf-liberation ttf-droid   # Emoji
    
    $ yay -S wqy-bitmapfont wqy-microhei wqy-microhei-lite wqy-zenhei adobe-source-han-mono-cn-fonts adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts   # 中文字体

浏览器

Chromium

  • 开源、支持多扩展的浏览器。

  • $ sudo pacman -S chromium

录屏相关

SimpleScreenRecorder

  • 轻量的录屏软件。

  • $ sudo pacman -S simplescreenrecorder

Screenkey

  • 捕捉键盘按键。

  • 首先添加archlinuxcn,同时去掉multilib前面的注释。

    $ sudo nano /etc/pacman.conf
    # 添加如下两行:
    # [archlinuxcn]
    # Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
  • $ sudo pacman -S screenkey

视频编辑

Kdenlive

  • 视频剪辑。

  • $ sudo pacman -S kdenlive

图片编辑

Gimp

  • 图片编辑。

  • $ sudo pacman -S gimp

办公套件

Libreoffice

  • Office三件套。

  • $ sudo pacman -S libreoffice

游戏

Steam

  • 游戏商店。

  • $ sudo pacman -S steam

视频播放

Vlc

  • 视频播放器。

  • $ sudo pacman -S vlc

其他

Gparted

  • 有图形界面的磁盘无损分区工具。

  • $ sudo pacman -S gparted

Virtualbox

  • 开源的虚拟机。

  • $ sudo pacman -S virtualbox

AppImageLauncher

  • .appimage文件的启动器。

  • $ sudo pacman -S appimagelauncher

Tlp

  • 电池性能优化。

  • $ sudo pacman -S tlp

软件安装出现的问题汇总

搜狗输入法不显示候选框

  • 如果出现了问题,搜狗输入法会提示:

    搜狗输入法异常!请删除~/.config/SogouPY并重启。

  • 如果以上操作不能解决问题,那么打开终端,输入sogou-qimpanel

    如果此时报错:

    sogou-qimpanel: error while loading libraries: libfcitx-qt.so.0: cannot open shared object file: No such file or directory

    那么就是缺少库文件的问题,目前最好的解决办法是取消使用fcitx

    $ sudo pacman -S fcitx-lilydjwg-git
    # 在安装这个包时,pacman会提示有包冲突,移除冲突的fcitx等相关包即可

    然而在我的LXDE并且在默认壁纸下,搜狗输入法的状态栏和候选框周围会有一个黑框...不太美观但不影响使用。

About

May there be a little help with your Arch Linux installation and setup.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors