惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
A
About on SuperTechFans
IT之家
IT之家
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Blog — PlanetScale
Blog — PlanetScale
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
Vercel News
Vercel News
G
Google Developers Blog
J
Java Code Geeks
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
Cloudbric
Cloudbric
L
LINUX DO - 最新话题
MyScale Blog
MyScale Blog
H
Heimdal Security Blog
PCI Perspectives
PCI Perspectives
Attack and Defense Labs
Attack and Defense Labs
S
Security @ Cisco Blogs
Latest news
Latest news
I
Intezer
L
Lohrmann on Cybersecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
月光博客
月光博客
T
Threatpost
博客园 - 【当耐特】
S
Schneier on Security
P
Privacy International News Feed
G
GRAHAM CLULEY
T
Tenable Blog
AWS News Blog
AWS News Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
雷峰网
雷峰网
博客园 - Franky
Engineering at Meta
Engineering at Meta
美团技术团队
S
Secure Thoughts
T
Troy Hunt's Blog
Microsoft Security Blog
Microsoft Security Blog
SecWiki News
SecWiki News
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Cisco Talos Blog
Cisco Talos Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Martin Fowler
Martin Fowler
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More

陈陈菌博客

如何在 podman 容器内使用 systemd 在 podman 运行 GUI 应用的经验总结 管理 podman 容器与镜像的导入或导出 用 xdg-dbus-proxy 解决容器的文件选择器的问题 解决 VSCodium 或 Code-Server 无法安装 GitHub Copilot 问题 不可变发行版 Fedora Silverblue 的体验记录 解决 apt 或 dnf 无法 tab 补全的问题 对 (MPA) 多页面切换实现丝滑动画的探索 让服务在非 Root 权限下使用 80 或 443 端口 AppImage 应用打包快速上手 Flatpak 使用和应用打包快速上手 如何用 webSocket 实现一个实时聊天应用 Linux 内核编译 | 快速上手 | deb 使用 debootstrap 构建 Debian 系根文件系统 高度可定制的 KDE 窗口装饰器 klassy 有关 docker、podman、nspawn、bwrap 的 Linux 容器图形性能测试 创建任意 Linux 容器并支持 GUI 程序 (Docker) 创建任意 Linux 容器并支持 GUI 程序 (nspawn) 文件同步工具 rsync 的使用 玲珑 (Linyaps) 应用打包 RPM 打包指南 | 精简版 PBR 材质的各种贴图类型入门 APU | Stable-Diffusion 使用记录 如何在 Electron 上启用 WebGPU Grub 主题安装与配置 Fcitx5 主题安装与自定义 不使用 Nginx 的网站开发指南 如何自制一个简易的资源监控程序 SQL 常用 CRUD 语法记录 Debian 打包入门,与需要注意的问题 在 fedora 建立一个 Arch 容器 (bwrap) 在 fedora 上建立一个 debian 容器 (bwrap) i3wm | 自制一个极简的屏幕亮度调节器 在 Linux 下启用内存压缩技术 zram 搭建一个本地轻量级聊天 Ai 我又又又重新上线了博客 如何通过命令行管理 wine 容器 (包括 proton) Btrfs 文件系统创建 swap 文件的方法 如何创建适用于 Linux 桌面的程序启动文件 在 Linux 控制 intel CPU 调度的方法
Arch Linux 的基本安装
GlumiStudio@ · 2022-07-05 · via 陈陈菌博客

一个极简的操作系统

2022-07-05 17:35:26

分类: Linux 标签: Arch


Arch Linux 作为一个 Linux 的其中一个发行版与其它发行版有点不一样的就是可定制性 (DIY玩法) 非常高,几乎可以完全自己定制操作系统。决定哪些软件想安装,哪些软件不想安装。

但它的安装几乎没有图形界面,只能靠终端输入命令来进行安装,对于很多人来说有一定的难度。

不过所谓的难也只是万事开头"难",只要认真稍微了解了之后,安装该系统一定也能觉得是一件简单的事情。

话不多说,咱直接就来上手。

当制作好 ArchLinux 启动盘并引导进入 Live 的时候,就可以开始了。

首先需要分好区, EFI 分区、Root 分区、Swap分区(可选)并依次格式化。如果已经提前做过这些操作那可以直接跳过。以下为一些分区格式化的命令。

格式化 EFI

mkfs.fat -F 32 /dev/EFI分区设备

格式化 ext4

mkfs.ext4 /dev/根分区设备

格式化 swap

mkswap /dev/swap分区设备

挂载分区 (root)

要想安装系统,首先就需要挂载一个分区比如根分区。

mount /dev/根分区设备 /mnt

挂载引导分区 (EFI)

安装完的操作系统当然还需要引导来启动,所以引导分区也是必不可少的。 在挂载引导分区前请先挂载 root 分区。(重要)

mount /dev/EFI分区设备 /mnt/boot/efi --mkdir

启用 swap 分区 (可选)

如果分了 swap 交换分区,可以使用 swapon 命令启用交换分区

swapon /dev/swap分区设备

设置软件源

为了在国内下载包更快,可以选择清华镜像源或者其他,这里以清华源为例子。

编辑 /etc/pacman.d/mirrorlist 在最顶端添加行

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

然后使用 pacman -Syy 更新一下软件源。

安装基本系统

在 live 系统已经联网的前提下,使用 pacstrap 可以给目标分区安装操作系统和基本固件包。

pacstrap /mnt base linux linux-firmware sudo

推荐把这些也装上 (涉及到基本命令工具以及网络连接、Linux 常用的软件包)

pacstrap /mnt networkmanager network-manager-applet dialog wireless_tools wpa_supplicant os-prober mtools dosfstools ntfs-3g base-devel linux-headers reflector git bluez bluez-utils pulseaudio-bluetooth

一些非必要软件包

如果想一步到位,也可以直接装完所有必须和非必须软件包。

pacstrap /mnt [包名] 

配置 fstab

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

进入基本操作系统

如果你已经安装了上面所需要的基本系统,此时 在 live 的环境下可以通过 arch-chroot 进入已经安装的操作系统 (当然,必须已经挂载它)

arch-chroot /mnt

设置网络服务自启动

在安装完并进入系统后,让网络服务工具启动, 并在无桌面命令行情况下可以输入 nmtui 来设置 WiFi 等。

systemctl enable NetworkManager

时区配置

进入操作系统后可以进行配置时区 (这里以上海为例)

timedatectl set-timezone Asia/Shanghai

设置语言

找到 /etc/locale.gen 把需要的语言取消注释,

vim /etc/locale.gen

并通过以下命令生成配置

locale-gen

编辑 /etc/locale.conf 将 LANG= 后面设置为默认语言

LANG="zh_CN.UTF-8"

需要注意:直接设置中文可能会出现方块字,要先安装好中文字体。

安装中文字体 / emoji 表情

pacman -S ttf-sarasa-gothic noto-fonts-cjk noto-fonts-emoji

设置 root 用户密码

输入以下命令根据提示输入新密码即可

passwd

创建一个普通用户

useradd -m -G wheel [用户名]

创建完后为该用户设置一个密码 , 根据提示输入新密码即可。

passwd [用户名]

intel 核显用户需要的软件包

pacman -S intel-media-driver vulkan-intel

intel CPU用户需要的软件包

pacman -S intel-ucode

AMD CPU 用户需要的软件包

pacman -S amd-ucode

AMD 核显用户需要的软件包

pacman -S xf86-video-amdgpu

Nvdia 独显用户需要的软件包

pacman -S nvidia nvidia-utils

安装显示服务 (为桌面环境做准备)

pacman -S xorg

安装登录管理器 (开机时的登录软件)

pacman -S sddm
# 或
pacman -S gdm
# 或
pacman -S lightdm

将登录管理器设置为开机自启动 (这里以 sddm 为例)

systemctl enable sddm

安装基本桌面环境

pacman -S gnome
# 或
pacman -S xfce4
# 或
pacman -S plasma
# 或
pacman -S deepin deepin-extra
# 或
pacman -S i3-gaps i3-status i3blocks

安装引导程序 (重要)

这是最关键的一步,决定是否能够引导进入系统

pacman -S grub efibootmgr  
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Arch

需要注意:

  • --efi-directory= 后面取决于引导分区位置例如 /boot/efi

  • --target= 后面取决于硬件架构 arm 或 x86 等因素。

  • 而 --bootloader-id= 后面只是 efi 的名称,可以随便取

安装完引导程序后记得生成 grub.cfg

grub-mkconfig -o /boot/grub/grub.cfg

后面一些完备工作 (避免损坏系统)

exit 离开当前的系统,回到 live

exit

依次将系统相关的分区卸载

umount /mnt/boot/efi
umount /mnt

重新开机

reboot

接下来就可以引导到 Arch 并进入系统了。(如果你是多系统,记得从 BIOS 选择 Arch 的引导优先启动)