程序员的资源宝库

网站首页 > gitee 正文

安装 Arch 安装archlinux容器

sanyeah 2024-03-29 16:13:36 gitee 5 ℃ 0 评论

初创建于: 2022-02-24 09:35

目录
  • 台式机安装 Arch
  • 安装
    • 制作启动盘
    • 选择字体
    • 更新系统时间
    • 建立硬盘分区
      • 查看分区
      • 编辑分区
      • 设置分区格式
    • 配置pacman
    • 安装系统
      • 挂载分区
      • 使用pacstrap安装系统.
    • 系统设置
      • 生成fstab
      • 进入chroot
      • 设置时区
      • 本地化
      • 网络配置
      • 添加archlinuxcn
      • 修改root密码与用户密码
      • 安装引导程序
    • 重启
  • 配置
    • 安装图形界面
      • 中文设置
      • 安装 KDE Plasma
      • 安装图标主题
    • 基本包与必备软件
    • 连接 wifi
      • python packages
    • 交换cap与左ctrl
    • 开机自动启动NumberLock
    • 亮度设置
    • 声音设置
    • 摄像头设置
    • Git设置
      • 设置ssh
    • 网络设置
    • 挂载磁盘
    • 安装 anaconda
    • 安装Latex
    • 安装虚拟机
      • 从虚拟机访问宿主机USB设备
      • 安装扩展包

台式机安装 Arch

虽然Manjaro是基于Arch的, 但是越来越觉得Manjaro与Arch的差距还是很大的.

这次放了一个月寒假, 回来后Manjaro也基本是挂了的状态了, 正好趁此机会将台式机的系统重装下.

思来想去, 已经用习惯Arch了, 再换其他发行版是不可能的了.

除了Arch的安装过程之外, 还要记录下安装完Arch后的配置, 方便以后再用.

安装

制作启动盘

在下载完iso镜像文件后, 将其写入准备好的U盘.

dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync

注意是/dev/sdx/, 是不带数字的.

在写入之前务必确认没有挂载.

选择字体

在进Live环境后, 调整字体大小:

setfont /usr/share/kbd/consolefonts/LatGrkCyr-12x22.psfu.gz

更新系统时间

timedatectl set-ntp true

建立硬盘分区

查看分区

fdisk -l

编辑分区

fdisk /dev/nvme0n1

> g # 清空原有分区
> n # 创建新分区
> w # 保存

设置分区格式

mkfs.fat -F32 /dev/nvme0n1p1 # 引导分区
mkfs.ext4     /dev/nvme0n1p2 # 主分区
mkswap        /dev/nvme0n1p3 # Swap分区
swapon        /dev/nvme0n1p3

配置pacman

pacman的配置文件为/etc/pacman.conf
编辑文件/etc/pacman.d/mirrorlist, 该文件中越靠前的优先级越大.
将中国的镜像地址移动到最上面, 如果没有, 则自行添加上.
不要相信xjtu源

Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

安装系统

挂载分区

按照顺序, 先挂载根分区到/mnt, 再挂载引导分区到/mnt/efi, 然后挂载其他分区.

mount /dev/nvme0n1p2 /mnt # 挂载主分区
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot # 挂载引导分区

使用pacstrap安装系统.

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以生成/etc/adjtime

hwclock --systohc

本地化

编辑/etc/locale.gen, 取消掉en_US.UTF-8UTF-8和其他需要的时区前面的注释, 如zh_CN.UTF-8.

执行locale-gen以生成locale信息.

创建/etc/locale.conf, 并设置LANG变量:

LANG=zh_CN.UTF-8

当然在编辑文件前需要安装一个编辑器, 比如neovim.

网络配置

创建hostname文件/etc/hostname

# /etc/hostname
arch

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

127.0.0.1 localhost
::1       localhost
127.0.1.1 arch.localdomain arch

添加archlinuxcn

在 /etc/pacman.conf 文件末尾添加以下两行:

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

之后安装archlinuxcn-keyring包导入 GPG key

sudo pacman -S archlinuxcn-keyring

修改root密码与用户密码

passwd

创建普通用户

useradd -m corona
usermod -a -G wheel corona

编辑/etc/sudoers, 去掉

%wheel ALL=(ALL:ALL) ALL

前面的注释

修改普通用户的密码:

passwd corona

安装引导程序

pacman -S grub efibootmgr amd-ucode os-prober
mkdir /boot/grub
grub-mkconfig > /boot/grub/grub.cfg

查看系统架构:

uname -m

安装grub:

grub-install --target=x86_64-efi --efi-directory=/boot

重启

退出chroot环境, 使用reboot命令重启, 拔出安装介质.


配置

安装图形界面


中文设置

安装fcitx5词库及主题:

pacman -S fcitx5-im fcitx5-chinese-addons
pacman -S fcitx5-pinyin-moegirl fcitx5-pinyin-zhwiki

/etc/environment中添加如下内容:

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus

2023-03-16 更新: 在个版本的 pam 之后, 用户目录下的 ~/.pam_environment 就失效了, 只能在 /etc/environment 中设置, 当然也有办法规避, 详见 依云:Linux 的环境变量怎么设.

安装字体:

安装FiraCode, SourceCodePro, 中华书局宋体, 思源宋体, 思源黑体, ttf-droid

pacman -S ttf-droid noto-fonts ttf-joypixels adobe-source-han-sans-cn-fonts

安装 KDE Plasma

不得不说现在的 KDE 真是好用

# 最小化安装 kde
sudo pacman -S plasma-desktop
# 安装相关软件
sudo pacman -S konsole ktorrent \
    kmail kate dolphin ark akregator \
    sddm sddm-kcm \
	plamsa-addons xdg-desktop-portal-kde \
	plasma-nm plasma-pa powerdevil bluedevil \
	kwallet kwallet-kcm kwallet-pam flatpak-kcm \
	breeze-gtk kinfocenter \
	spectacle gwenview
# 安装必要的驱动
sudo pacman -S xf86-video-intel vulkan-intel

安装图标主题

推荐 papirus 主题:

pacman -S papirus-icon-theme

基本包与必备软件

基本包 :

pacman -S base-devel linux-headers git

连接 wifi

为了能够在笔记本上连接 wifi, 需要 broadcom-wl-dkms 包.
参见 archwiki
在安装该包之前需要先安装 linux-headers.

pacman -S broadcom-wl-dkms
  • yay, paru
  • aria2
  • croc
  • zip, gzip, unzip, p7zip, unrar
  • google-chrome
  • xclip
  • ntfs-3g
  • ueberzug
  • fzf
  • trash-cli
  • imagemagick
  • ctags
  • clang: pacman -S clang
  • php

python packages

建议使用 pacman 安装

  • neovim-remote: sudo pacman -S neovim-remote
  • pynvim: sudo pacman -S python-pynvim
  • rope sudo pacman -S python-rope (coc.python 用来重命名变量)

交换cap与左ctrl

Click Here


开机自动启动NumberLock

Click Here


亮度设置

亮度调整的脚本已经在my-script仓库中了, 这里需要安装下依赖:

pacman -S bc xorg-apps

声音设置

编辑配置文件~/.asoundrc

defaults.pcm.card   1
defaults.pcm.device 0
defaults.ctl.card   1

具体数值需要根据设备确定, 可参见 archwiki alsa 部分.

在我使用的 Macbook Air 上, 要使用麦克风, 需要安装 pulseaudio 包并且需要打上以下补丁 :

--- a/usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf
+++ b/usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf
@@ -23,6 +23,8 @@
 
 [Jack Mic]
 required-any = any
+state.plugged = unknown
+state.unplugged = unknown
 
 [Jack Mic Phantom]
 required-any = any
@@ -31,6 +33,8 @@
 
 [Jack Mic - Input]
 required-any = any
+state.plugged = unknown
+state.unplugged = unknown
 
 [Element Capture]
 switch = mute

注意该补丁在 pulseaudio 每次更新后都需要手动打上.

如果没有打这个补丁, 大部分软件都能正常使用, 但是使用腾讯会议时会没有声音.


摄像头设置

参见 This

因为我用的笔记本是 Macbook, 因此需要安装 AUR 中的 bcwc-pcie-git 包,
之后加载内核的 facetimehd 模块:

yay -S bcwc-pcie-git
modprobe facetimehd # 这条需要 root 权限

使用以下命令检查是否配置成功 :

v4l2-ctl --list-devices
# 如果成功, 输出应类似 : 
# Apple Facetime HD (PCI:0000:02:00.0):
#        /dev/video0

Git设置

设置ssh

mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa -C "Corona09@163.com" -f id_gitee
ssh-keygen -t rsa -C "Corona09@163.com" -f id_github

编辑~/.ssh/config:

#gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_gitee

#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_github

打开gitee, github设置公钥, 检查是否成功:

ssh -T git@gitee.com
ssh -T git@github.com

网络设置

安装google-chrome的插件:

google-chrome-stable --proxy-server="http://127.0.0.1:7890"

然后登录不存在的谷歌账号, 同步设置.


挂载磁盘

因为台式机有额外的机械磁盘, 因此需要挂载硬盘.
Click Here


安装 anaconda

yay -S anaconda

在安装完成后:

# 将以下内容添加到 ~/.config/fish/config.fish 中
if test -f /opt/anaconda/etc/fish/conf.d/conda.fish
    source /opt/anaconda/etc/fish/conf.d/conda.fish
end

安装Latex

安装必要的包:

pacman -S texlive-most texlive-lang
pacman -S poppler-data
yay -S zathrua zathura-pdf-poppler

设置必要的latexmkrc:

$pdflatex="xelatex %O %S"

安装虚拟机

Arch Wiki

安装virtualbox相关包:

yay -S virtualbox virtualbox-host-modules-arch

在 VirtualBox 所使用的 内核模块 中,只有 vboxdrv 是必须的。该模块必须在虚拟机运行之前加载。

手动加载模块的命令是:

modprobe vboxdrv

有关高级功能的模块:

  • vboxnetadp & vboxnetflt : 在使用桥接网络和host-only网络时是需要的.
    vboxnetadp 模块用于在 VirtualBox 全局配置里为主体机创建虚拟网卡;
    vboxnetflt 模块会在使用了该功能的客体机启动时起作用
    为了使用桥接网络或"Host-only"网络, 需要安装net-tools包.

  • vboxpci 若要让虚拟机使用宿主机的PCI设备, 就需要这个模块.

如果在VirtualBox内核模块运行期间更新了模块所属软件包, 为了使用新版本, 需要手动加载这些模块. 在root权限下运行vboxreload即可重新加载.

从虚拟机访问宿主机USB设备

将需要运行VirtualBox的用户名添加到vboxusers用户组.

usermod -a -G vboxusers corona

安装扩展包

Oracle Extension Pack 为虚拟机提供了额外功能. 但它并不是以自由软件协议发布的, 仅供个人使用. 这些扩展包可以从 virtualbox-ext-oracle(AUR)安装。

yay -S virtualbox-ext-oracle

重启计算机, 启动VirtualBox, 安装虚拟机.


2022-06-05 20:02 : 已经转投 openSUSE 了


2023-03-16 19:06 : 兜兜转转, 用了乱七八糟的发行版一堆, 还体验了一下 bugdows 又回到 arch 了

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表