Arch Linux安装 2023-04-09

2023-05-16

除特殊场景外,下面所有的"#"后都是注释

准备

EFI分区不小于200mb

iso版本: archlinux-2023.04.01-x86_64

使用分区工具预留出足够空间(>20G),标签为“未分配”

安装

连接网络

rfkill unblock wifi
ip link
wpa_supplicant -D wext -B -i <设备名> -c <(wpa_passphrase <wifi 名称> <wifi 密码>) #用具体名称替换<>及其中的内容
ping baidu.com #测试网络是否连通

设置时区

timedatectl set-ntp true
timedatectl status

硬盘分区

fdisk -l #这条命令的输出应该像这样(在只安装了Windows的情况下):
​
Disk /dev/nvme1n1:476.94 GiB,512110190592 字节,1000215216 个扇区磁盘型号:WDC PC SN530 SDBPNPZ-512G-1002          
单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:gpt
磁盘标识符:85ACB366-AEAC-4460-873F-62CFC62AADEE
​
设备                起点       末尾      扇区   大小 类型
/dev/nvme1n1p1      2048     411647    409600   200M EFI 系统
/dev/nvme1n1p2    411648     444415     32768    16M Microsoft 保留
/dev/nvme1n1p3    444416  748556287 748111872 356.7G Microsoft 基本数据
#到此结束
​
fdisk /dev/nvme1n1 #此盘是要安装Arch的硬盘;机械硬盘为/dev/sda<x>;固态为/dev/nvme<x>n1p<x>
#输出p查看当前磁盘布局;n新建分区;w写入分区
n #于Last sector..后输入+4G;此为交换分区(swap),可自定义大小;记住Partition number,记为n
n #使用默认卷标;一路回车,会自动将预留出的空间使用完;记住Partition number,记为m
w #保存布局

文件系统

#创建文件系统,系统类型为btrfs
mkfs.btrfs /dev/nvme1n1p<m> #<m>为刚才记住的partition number,将<>删掉;下同
mkswap /dev/nvme1n1p<n> 
swapon /dev/nvme1n1p<n>
mount /dev/nvme1n1p<m> /mnt
mkdir /mnt/boot
mount /dev/nvme1n1p1 /mnt/boot #1为EFI分区的partition number,一般为1

镜像源(可跳过)

nano使用方法

ctrl+w搜索

编辑完依次按下ctrl+x,y,enter即可保存

nano /etc/pacman.d/mirrorlist
#加入下面两行:
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
​
pacman -Sy

安装基本系统

最后的软件包根据CPU品牌选择;Intel对应intel-ucode,AMD对应amd-ucode

pacstrap -K /mnt base base-devel linux linux-firmware sudo nano vim networkmanager intel-ucode/amd-ucode
​
#如果出现报错,则需要更新keyring
pacman -Sy archlinux-keyring
#重新执行
pacstrap -K /mnt base base-devel linux linux-firmware sudo nano vim networkmanager intel-ucode/amd-ucode
#如果仍然报错,报错信息为:intel-ucode.img/amd-ucode.img已存在,删除它重新执行
pacstrap -K /mnt base base-devel linux linux-firmware sudo nano vim networkmanager intel-ucode/amd-ucode

配置基本系统

genfstab -U /mnt >> /mnt/etc/fstab
#查看是否正确写入磁盘信息
cat /mnt/etc/fstab
​
arch-chroot /mnt
#配置时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
​
#配置字体
nano /etc/locale.gen
#搜索 en_US.UTF-8 和 zh_CN.UTF-8 把它们前面的 # 删除后保存退出
locale-gen
nano /etc/locale.conf
#添加 LANG=en_US.UTF-8 保存退出
​
#配置其它
nano /etc/hostname
#添加 archlinux 保存退出
systemctl enable NetworkManager #注意大小写
​
passwd #使用此命令后会提示输入密码,密码不会显示出来
​
#添加用户
useradd -m -G wheel -s /bin/bash <username> #<username>为自定义的用户名,去掉<>
passwd <username> #去掉<>
​
#下面的命令会进入vi,在vi中,按下i进入编辑模式,按下ESC进入命令模式,输入:wq后退出
visudo #找到 ##%wheel ALL=(ALL:ALL) ALL 去掉前面的两个##

配置引导工具

pacman -S grub efibootmgr os-prober
​
nano /etc/default/grub
#去掉 #GRUB_DISABLE_OS_PROBER=false 前面的#,保存退出
​
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch
#最后的Arch可以自定义
​
#生成grub.cfg
grub-mkconfig -o /boot/grub/grub.cfg
​
blkid /dev/nvme1n1p1 #EFI分区的partition number;请记录下UUID后面的八位字符
​
#生成grub.cfg时可能无法找到Windows系统,需手动添加
nano /boot/grub/grub.cfg
#搜索 os-prober 找到如下行:
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
#在两行中间添加:
menuentry 'Windows 10' {
    insmod part_gpt
    insmod fat
    insmod chain
    search --fs-uuid --no-floppy --set=root XXXX-XXXX #刚才记下的八位字符
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
#修改完后如下:
...
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 10' {
    insmod part_gpt
    insmod fat
    insmod chain
    search --fs-uuid --no-floppy --set=root XXXX-XXXX #刚才记下的八位字符
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
### END /etc/grub.d/30_os-prober ###
...
#保存退出
​
exit
umount -R /mnt
reboot #重启后请先进入Windows系统,确保其能正常启动后再返回Arch Linux

解决重启后无法识别网卡或网络无法连接

#重新启动后进入登陆界面,以root身份登入
#如果在进入系统后无法连接网络或找不到无线网卡,请拿出你的启动U盘,引导进入安装介质
mount /dev/.. /mnt #..为你安装Arch Linux的那个分区,如果你是按照此教程安装的Arch,此分区为nvme1n1p<m>
arch-chroot /mnt
pacman -S linux-firmware

安装图形化界面(以KDE为例)

此步为可选,如果你只需要命令行界面,这一步可以忽略

Arch Linux允许你自由地选择图形化界面:Gnome,KDE,xfce,i3等

本篇介绍KDE桌面的安装

安装KDE Plasma

#连接网络,与安装Arch Linux时相同,这里略过
#查看显示设备
lspci | grep VGA
#安装通用显示驱动;intel CPU的用户可以选择安装 xf86-video-intel
pacman -S xf86-video-vesa
#安装xorg
pacman -S xorg
#安装字体
pacman -S ttf-dejavu wqy-microhei
#安装KDE桌面及其应用;这一步消耗的时间取决于你的网络状况
pacman -S plasma kde-applications
#启用sddm
systemctl enable sddm
#重启
reboot

安装Discover商店后端

在打开图形化界面之后,你的Discover商店可能无法使用,解决方法如下

sudo pacman -S archlinux-appstream-data packagekit-qt5 flatpak fwupd
#如果还是无法使用,请重启后再执行一遍此命令

现在你已经成功安装了Arch Linux及图形化界面,可以开始漫长的配置之路了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Arch Linux安装 2023-04-09 的相关文章

  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • 在 Ubuntu 16.04 上找不到 printf.c

    我最近切换到Ubuntu 16 04 我在用vscode作为 Ubuntu 上的 IDE 我配置了其他语言 但我无法做到这一点C C 我创建c cpp properties json launch json tasks json 当我开始编
  • 从 TypeScript 运行任何 Linux 终端命令?

    有没有办法直接从 TypeScript 类中执行 Linux 终端命令 这个想法是做类似的事情 let myTerminal new LinuxTerminal let terminalResult myTerminal run sudo
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 如何在特定 systemd 服务重新启动时触发自定义脚本运行

    我想知道如何安排自定义脚本在重新启动服务时运行 我的用例是 每当重新启动 Tomcat 服务时 我都必须运行多个命令 我想知道是否有一种方法可以编写脚本并安排它在重新启动 Tomcat 服务时运行 我已将 tomcat 脚本设置为 syst
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • Linux 桌面快捷方式和安装图标

    我需要添加什么到我的 spec文件来创建桌面快捷方式并在安装过程中为快捷方式分配一个图标 rpm 如果需要脚本 一个示例将非常有帮助 您在 Linux 下使用 desktop 文件作为图标 图标放置的位置取决于您使用的发行版和桌面环境 由于
  • SONAR - 使用 Cobertura 测量代码覆盖率

    我正在使用声纳来测量代码质量 我不知道的一件事是使用 Cobertura 测量代码覆盖率的步骤 我按照以下步骤操作http cobertura sourceforge net anttaskreference html http cober
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 为什么我收到“无法进行二进制日志记录”的信息。在我的 MySQL 服务器上?

    当我今天启动 MySQL 服务器并尝试使用以下命令进行一些更改时用于 MySQL 的 Toad http www quest com toad for mysql 我收到此消息 MySQL 数据库错误 无法进行二进制日志记录 消息 交易级别
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • Linux 中的无缓冲 I/O

    我正在写入大量的数据 这些数据数周内都不会再次读取 由于我的程序运行 机器上的可用内存量 显示为 空闲 或 顶部 很快下降 我的内存量应用程序使用量不会增加 其他进程使用的内存量也不会增加 这让我相信内存正在被文件系统缓存消耗 因为我不打算
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • 如何根据 HTTP 请求使用 Python 和 Flask 执行 shell 命令并流输出?

    下列的这个帖子 https stackoverflow com questions 15092961 how to continuously display python output in a webpage 我能够tail f网页的日志

随机推荐

  • 【idea导入外部项目目录结构显示不完整解决方案】与【Maven配置永久生效方案】

    一 idea导入外部项目目录结构显示不完整 idea导入外部项目时 xff0c 目录结构显示不完整 xff0c 如下图所示 可能的情况即解决方案如下 xff1a 1 等待即可 xff1b idea正在下载项目所需依赖 xff0c 等待pom
  • Kotlin实现登录界面的密码显示与隐藏

    kotlin实现android登录界面 1布局的设计 xff0c 密码的显示和隐藏2主程序的监听事件的绑定 1布局的设计 xff0c 密码的显示和隐藏 span class token prolog lt xml version 61 34
  • Ubuntu18.04 设置 root 用户登录

    1 Ubuntu root用户 初始是没有密码的 xff0c 所以在使用之前最好先设置密码 xff0c 在终端使用以下指令 sudo passwd root 2 输入下方指令 xff0c 修改文件内容 xff0c 设置root用户登录 cd
  • 【Jetpack】学穿:ViewBinding → 视图绑定

    0x0 Jetpack简介 手机厂商还没卷完Android 12 xff0c Android 13 就悄然声息地来了 xff0c 距离Google 2008年9月22日发布Android 1 0 xff0c 已过去13个年头 历经13年的打
  • 如何做影视解说短视频?素材文案+配音,每一个都不能少

    如何做影视解说短视频 xff1f 素材文案 43 配音 xff0c 每一个都不能少 很多小伙伴都喜欢问我如何才能做出来一个影视解说短视频 xff0c 其实并没有我们想象中的那么难 只是如果想要做成大号 xff0c 变成拥有六千多万粉丝 xf
  • 如何抓住用户痛点进行短视频文案创作?三个小方法可运用

    如何抓住用户痛点进行短视频文案创作 xff1f 三个小方法可运用 众所周知 xff0c 短视频的文案创作 xff0c 其实也是需要抓住用户痛点的 xff0c 而只要能够做到这一点 xff0c 吸引用户其实就非常简单了 所谓抓住用户痛点 xf
  • 短视频文案怎么写才能吸引用户?幽默不是唯一,触发情感也很重要

    短视频文案怎么写才能吸引用户 xff1f 幽默不是唯一 xff0c 触发情感也很重要 很多做短视频的小伙伴们都会烦恼一件事 xff0c 那就是不知道短视频的文案究竟要怎么写才能够顺利的吸引到用户 很多小伙伴认为幽默的文案才能吸粉引流 xff
  • 短视频运营小技巧,标题文案都很重要,还有配音也别忘记

    短视频运营小技巧 xff0c 标题文案都很重要 xff0c 还有配音也别忘记 想要让自己的短视频获得高高的流量 xff0c 那么是离不开运营小技巧的 xff0c 那么今天我们就来分享三个短视频运营的小技巧 xff0c 标题文案都很重要 xf
  • java中怎样获取绝对路径,增加代码的灵活性?

    介绍获取绝对路径的方法 xff0c 一种是获取普通文件 xff0c 另一种是只能获取后缀名为 properties的文件 第一种 xff1a 在IO流读取文件时 xff0c 我们往往会通过直接写文件名的方式取 xff0c 例如 xff1a
  • tomcat学习笔记之catalina.sh

    本文基于tomcat 8 0 18版本的源码实现写作 xff0c 随tomcat7发布的脚本可能会有些差异 最早是在07年部门培训的时候接触到tomcat xff0c 但后来的工作都和web开发不相关 xff0c 所以没有积累多少使用经验
  • 24届春招百度暑假实习笔试第二题

    题干 解答 该题目在解决的时候 xff0c 需要发现就是对于相同的字符我们应该放在一起 xff0c 这样在进行修改的时候 xff0c 对其他字符的影响才会小 然后连续相同字符个数 和 组成的回文子串数目 它们的通解为 an 61 n 2 4
  • (二十三)操作系统-多生产者·多消费者问题

    文章目录 一 问题描述二 问题分析1 关系分析2 整理思路 三 实现1 代码2 如果不要互斥信号量3 将盘子 xff08 缓冲区 xff09 容量设为2 四 总结 一 问题描述 桌子上有一只盘子 xff0c 每次只能向其中放入一个水果 爸爸
  • 事件循环机制的理解

    点此链接
  • 【快速学习vue3】

    点此链接
  • 配置FTP协议 并且连接交换机进行文件传输

    配置FTP连接交换机进行文件传输 文章目录 配置FTP连接交换机进行文件传输前言一 FTP文件传输协议1 配置环境电脑验证 xff08 使用CMD直接ftp 43 进行连接的设备IP xff09 前言 本文为网络工程师培训中的学习笔记 xf
  • Mysql-最左前缀法则以及索引失效情况

    最左前缀法则 如果索引了多列 xff08 联合索引 xff09 xff0c 要遵守最左前缀法则 最左前缀法则指的是查询从索引的最左列开始 xff0c 并且不跳过索引中的列 如果跳跃某一列 xff0c 索引将会部分失效 后面的字段索引失效 以
  • Spring框架开发流程

    Spring框架是什么 xff1f Spring是一个开源框架 xff0c Spring是于2003 年兴起的一个轻量级的Java 开发框架 xff0c 由Rod Johnson 在其著作Expert One On One J2EE Dev
  • HJ71 字符串通配符

    描述 问题描述 xff1a 在计算机中 xff0c 通配符一种特殊语法 xff0c 广泛应用于文件搜索 数据库 正则表达式等领域 现要求各位实现字符串通配符的算法 要求 xff1a 实现如下2个通配符 xff1a xff1a 匹配0个或以上
  • 如何用Java实现判断一个链表是否有环

    设置一个快指针和一个慢指针 xff0c 快指针一次走两步 xff0c 慢指针一次走一步 如果该链表没有环 xff0c 快指针会先指向NULL xff0c 可据此判断链表没有环结构 xff1b 如果该链表有环 xff0c 则快指针肯定先进环
  • Arch Linux安装 2023-04-09

    除特殊场景外 下面所有的 34 34 后都是注释 准备 EFI分区不小于200mb iso版本 archlinux 2023 04 01 x86 64 使用分区工具预留出足够空间 gt 20G 标签为 未分配 安装 连接网络 rfkill