当前位置: 首页 > news >正文

Archlinux个人安装流程

操作环境:

时间:2023-02-17

电脑型号:联想拯救者R720

cpu:Intel Core i5-7300HQ @ 4x 3.5GHz

gpu:NVIDIA GeForce GTX 1050 Ti

安装系统:

1.下载镜像: 请访问https://archlinux.org/查找镜像站下载最新的安装镜像

2.烧录镜像: 准备一个2G以上的U盘,Windows用户推荐使用Ventoy、Rufus、balenaEtcher刻录;Linux用户推荐使用Ventoy、balenaEtcher或者dd命令刻录

3.安装前准备: 由于archlinux不支持安全启动,请进入bios设置中禁用安全启动或快速启动

4.安装: 将U盘插入电脑,在开机时按下boot menu按键进入boot menu,选择U盘引导并回车(也可以在bios中将U盘启动调整至第一位,保存配置后开机启动)

5.测试网络连通性: 通过u盘启动会被引导至一个使用root身份登陆的虚拟控制台,默认的shell是zsh,可以使用以下命令配置网络,之后使用ping命令测试网络连通性

ip link    #查看网卡名称
ip add    #查看IP地址
推荐使用网线连接电脑,正常情况下此时就可以直接上网,如果使用无线请使用以下命令:
wpa_supplicant -D wext -B -i wlp3s0(设备名) -c <(wpa_passphrase wifi-name wifi-password)
#注释:
-D wext    #使用 wext 驱动网卡
-B    #后台运行
-i    #是指定设备
-c    #是指定配置文件

6.校对时间: 由于下载软件的服务器会验证系统时间,如果时间不正确,可能出现下载失败的情况

timedatectl set-timezone Asia/Shanghai    #设置时区为上海
timedatectl status    #验证及查看时间
date    #查看时间

7.创建硬盘分区: 分区创建可以使用fdisk或cfdisk,其中cfdisk是图形化操作,较为简单。操作前请检查要格式化的硬盘,数据无价

fdisk -l    #查看硬盘分区
cfdisk /dev/nvme0n1    #使用cfdisk管理硬盘
fdisk /dev/nvme0n1    #使用fdisk管理硬盘
我个人的分区方案:/dev/nvme0n1p1    #EFI分区,300MB,类型:EFI系统
/dev/nvme0n1p2    #swap分区,4GB,类型:Linux swap
/dev/nvme0n1p3    #根分区,剩下所有空间,类型:Linux LVM
格式化分区:mkfs.fat -F 32 /dev/nvme0n1p1    #格式化EFI分区
mkswap /dev/nvme0n1p2    #格式化交换分区
mkfs.ext4 /dev/nvme0n1p3    #格式化系统分区
挂载分区:swapon /dev/nvme0n1p2    #启动交换分区
mount /dev/nvme0n1p3 /mnt    #挂载系统分区
mkdir -p /mnt/boot/efi
mount /dev/nvme0n1p1 /mnt/boot/efi    #挂载EFI分区df -hT    #检查分区挂载情况
free -h    #检查内存情况

8.配置镜像源: 由于archlinux官方网站在国外,国内访问偏慢,建议通过镜像站下载软件包

vim /etc/pacman.d/mirrorlist    #编辑配置文件
#以下列出部分镜像源地址,添加一个即可,建议添加至镜像源列表首位
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch    #清华大学开源软件镜像站
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch    #中国科学技术大学开源镜像站
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch    #华为开源镜像站
Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch    #兰州大学开源镜像站
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch    #阿里云镜像站pacman -Syy    #更新软件包

9.安装基本操作系统及工具:

pacstrap /mnt base base-devel linux linux-headers linux-firmware
pacstrap /mnt base base-devel linux-lts linux-lts-headers linux-firmware    #lts为稳定版
#base base-devel linux linux-firmware是系统中最基本的四个包,base-devel在AUR包安装过程中是必须用到的,linux是内核软件包,linux-firmware包括部分驱动

10.创建fstab文件: fstab用来定义磁盘分区,主要用于系统启动时自动挂载分区,是linux重要文件之一。使用genfstab自动根据当前挂载情况生成并写入fstab文件

genfsfab -U /mnt >> /mnt/etc/fstab    # efi+gpt使用此命令
-U    #使用uuid
-L    #使用卷标
genfstab -p /mnt >> /mnt/etc/fstab    # bios+mbr使用此命令

11.对系统进行配置: 到此基本系统安装已经完成,接下来是对系统进行更进一步的配置

arch-chroot /mnt    #切换根目录
安装软件
pacman -S networkmanager openssh vim git grub efibootmgr intel-ucode man-db man-pages ntfs-3g bash bash-completions sudo net-tools
#注释
networkmanager    #网络管理,建议安装
grub efibootmgr    #grub2引导管理,必装;efi+gpt引导的安装grub、efibootmgr;bios+mbr引导的安装grub、efivar
os-prober    #双系统必装;os-prober 可以检查其他硬盘上的其他系统引导,如果不安装并启用,可能无法识别其他系统
intel-ucode    #cpu微码,必装;intel安装intel-ucode,amd安装amd-ucode
bash bash-completions    #终端,必装;如果喜欢使用zsh,可更换为zsh zsh-completions
sudo    #提权用,必装systemctl enable NetworkManager设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc    #同步硬件时钟本地化
vim /etc/locale.gen
去掉 en_US.UTF-8 UTF-8 以及 zh_CN.UTF-8 UTF-8 行前的注释符号
#使用命令修改
# sed -i 's/^#en_US.UTF-8/en_US.UTF-8/' /etc/locale.gen
# sed -i 's/^#zh_CN.UTF-8/zh_CN.UTF-8/' /etc/locale.genlocale-gen    #更新locale信息创建locale.conf文件,并编辑设定LANG变量
vim /etc/locale.conf
LANG=en_US.UTF-8
#不建议在这里将 en_US.UTF-8 改为 zh_CN.UTF-8 ,这样会导致终端乱码编辑主机名
vim /etc/hostname设置root密码
passwd root创建新用户
useradd -m xiaoyu(用户名)
passwd xiaoyu新用户提权
vim /etc/sudoers
xiaoyu ALL=(ALL:ALL) ALL创建引导
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB    #使用efi+gpt引导
# --target=x86_64-efi 目标架构x86架构64位,efi启动方式
# --efi-directory=/boot 是硬盘挂载的/boot位置,将grubx64.efi安装到之前的指定位置(EFI分区)
# --bootloader-id=name 其中name可以更改为自己想要的名称,建议简短明确;可忽略不写
grub-install --target=i386-pc /dev/nvme0n1    #使用bios+mbr引导#grub2默认禁用了os-prober,如果你是双系统或多系统安装,需要手动开启该选项
vim /etc/default/grub
GRUB_DISABLE_OS_PROBER=falsegrub-mkconfig -o /boot/grub/grub.cfg    #生成引导配置文件退出重启进入系统
exit
reboot

12.进入系统后的配置(可在上一步的环境中继续操作)

使用xiaoyu账号登陆,不建议使用root
配置中文源
sudo vim /etc/pacman.conf
[multilib]    #开启32位仓库
Include = /etc/pacman.d/mirrorlist
[archlinuxcn]    #配置中文仓库
Server = https://repo.archlinuxcn.org/$archsudo pacman -Syu haveged
systemctl start haveged
sudo systemctl start haveged
sudo systemctl enable haveged配置密钥环
ls /etc/pacman.d/gnupg/
sudo pacman -S archlinuxcn-keyring archlinux-keyring
sudo rm -rf /etc/pacman.d/gnupg/
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman-key --populate archlinuxcn安装声卡驱动
sudo pacman -Syu
sudo pacman -S alsa-utils pulseaudio pulseaudio-alsa安装蓝牙驱动
sudo pacman -S bluez bluez-utils
sudo systemctl enable bluetooth
sudo systemctl start bluetooth安装触摸板驱动
sudo pacman -S xf86-input-synaptics安装paru和yay
sudo pacman -S paru
sudo pacman -S yay安装kde桌面
sudo pacman -S xorg xorg-xrandr xorg-server xorg-apps xorg-xinit xorg-xclock xterm
sudo pacman -S plasma kde-applications-mete
sudo pacman -S sddm sddm-kcm
sudo systemctl enable sddmkde桌面中文化
vim .xprofile
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8安装字体
sudo pacman -S ttf-dejavu wqy-microhei wqy-microhei-lite noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra adobe-source-han-serif-cn-fonts adobe-source-han-sans-cn-fonts wqy-zenhei wqy-bitmapfont ttf-arphic-ukai
yay -S ttf-fira-code安装及配置中文输入法
sudo pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-material-color
yay -S fcitx5-input-support
词库
sudo pacman -S fcitx5-pinyin-zhwiki fcitx5-pinyin-moegirl fcitx5-pinyin-moegirl-rime rime-pinyin-zhwiki配置中文输入法
sudo vim /etc/environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus安装显卡驱动
sudo pacman -S xf86-video-intel
yay -s nvidia-dkms禁用nouveau
sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nvidia_drm.modeset=1 modprobe.blacklist=nouveau"
sudo grub-mkconfig -o /boot/grub/grub.cfg
#测试nvidia显卡是否运行
nvidia-smi安装dock栏
sudo pacman -S latte-dock装screenfetch
sudo pacman -S screenfetch
sudo vim .bashrc
screenfetch
#screenfetch中文环境1801行报错问题解决
sudo free -b | awk 'NR==2{print $1"-"$6}' | sed 's/内存://g'
sudo vim /usr/bin/screenfetch
#1801行
mem=$(free -b | awk 'NR==2{print $1"-"$6}' | sed 's/内存://g')

相关文章:

Archlinux个人安装流程

操作环境&#xff1a; 时间&#xff1a;2023-02-17 电脑型号&#xff1a;联想拯救者R720 cpu&#xff1a;Intel Core i5-7300HQ 4x 3.5GHz gpu&#xff1a;NVIDIA GeForce GTX 1050 Ti 安装系统&#xff1a; 1.下载镜像&#xff1a; 请访问https://archlinux.org/查找镜…...

【Autoware】2小时安装Autoware1.13(保姆级教程)

前言&#xff1a;ROS的出现使得机器人软件开发更加快速和模块化&#xff0c;在此基础上&#xff0c;Autoware.ai开源项目可以让我们很容易地将一套完整的自动驾驶软件部署到我们的测试车辆上&#xff0c;并见证它跑起来&#xff01; 文章目录1.Autoware简介2.电脑软硬件配置要求…...

JVM 堆内存模型

方法区和永久代的关系 方法区与 Java 堆一样&#xff0c;是各个线程共享的内存区域&#xff0c;它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。虽然 Java 虚拟机规范把方法区描述为堆的一个逻辑部分&#xff0c;但是它却有一个别名叫做 N…...

linux-中断下半部

引用preempt宋宝华&#xff1a; 是谁关闭了Linux抢占&#xff0c;而抢占又关闭了谁&#xff1f;Linux用户抢占和内核抢占详解(概念, 实现和触发时机)--Linux进程的管理与调度(二十&#xff09;内核抢占实现(preempt)Linux中的preempt_count - 知乎 (zhihu.com)linux 中断子系统…...

SpringMVC源码:HandlerMapping加载1

参考资料&#xff1a; 《SpringMVC源码解析系列》 《SpringMVC源码分析》 《Spring MVC源码》 写在开头&#xff1a;本文为个人学习笔记&#xff0c;内容比较随意&#xff0c;夹杂个人理解&#xff0c;如有错误&#xff0c;欢迎指正。 前文&#xff1a; 《SpringMVC源码&a…...

【ArcGIS】12 投影

问题描述 在处理地理数据时,可能会遇到以下关于投影的问题: DEM缺少投影,提取流域会报错图层只有地理坐标系,没有投影坐标系,无法测量距离、计算面积等要素图层投影偏移量错误,与实际位置有偏差总之,投影对各种地理操作影响很大,有必要深入理解。 投影说明 在ArcGIS…...

【微信小程序-原生开发+TDesign】通用功能页封装——地点搜索(含腾讯地图开发key 的申请方法)

效果预览 核心技能点 调用腾讯地图官方的关键字地点搜索功能&#xff0c;详见官方文档 https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodGetsuggestion 完整代码实现 地点输入框 <t-input value"{{placeInfo.title}}" bindtap"searchPlace" dis…...

h5: 打开手机上的某个app

1、android端&#xff1a;直接通过URL Scheme方式打开。2、ios端&#xff08;2种&#xff09;&#xff1a;&#xff08;1&#xff09;使用URL Scheme方式打开。&#xff08;2&#xff09;使用Universal link方式打开。3、Universal link方式使用注意事项&#xff1a;&#xff0…...

Hot Chocolate 构建 GraphQL .Net Core 服务

Hot Chocolate 是 .NET 平台下的一个开源组件库, 您可以使用它创建 GraphQL 服务, 它消除了构建成熟的 GraphQL 服务的复杂性, Hot Chocolate 可以连接任何服务或数据源&#xff0c;并创建一个有凝聚力的服务&#xff0c;为您的消费者提供统一的 API。 我会在 .NET 应用中使用…...

linux shell 入门学习笔记16 流程控制开发

shell的流程控制一般包括if、for、while、case/esac、until、break、continue语句构成。 if语句开发 单分支if //方式1 if <条件表达式> then 代码。。。 fi //方式2 if <条件表达式>;then 代码。。。 fi 双分支if if <条件表达式> then 代码1 if <条件表…...

机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测

机器学习&#xff1a;基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测 作者&#xff1a;AOAIYI 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;AOAIYI首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可以点赞…...

给VivoBook扩容重装系统

现在笔记本重装系统都这么复杂吗&#xff1f;原谅我还是10年前的装机水平&#xff0c;折腾了一天终于把系统重新安装好了。 笔记本&#xff1a; ASUS VivoBook 安装系统&#xff1a; Win10 1、扩容 电脑配的512G硬盘满了要换个大的&#xff0c;后盖严丝合缝&#xff0c;不…...

vue 依赖注入使用教程

vue 中的依赖注入&#xff0c;官网文档已经非常详细&#xff0c;笔者在这里总结一份 目录 1、背景介绍 2、代码实现 2.1、依赖注入固定值 2.2、 依赖注入响应式数据 3、注入别名 4、注入默认值 5、应用层 Provide 6、使用 Symbol 作注入名 1、背景介绍 为什么会出现依…...

【再临数据结构】Day1. 稀疏数组

前言 这不单单是稀疏数组的开始&#xff0c;也是我重学数据结构的开始。因此&#xff0c;在开始说稀疏数组的具体内容之前&#xff0c;我想先说一下作为一个有着十余年“学龄”的学生&#xff0c;所一直沿用的一个学习方法&#xff1a;3W法。我认为&#xff0c;只有掌握了正确的…...

二十四、MongoDB 聚合运算( aggregate )

MongoDB 聚合( aggregate ) 用于处理数据&#xff0c;比如统计平均值,求和等。然后返回计算后的数据结果 MongoDB 聚合有点类似 SQL 语句中的 COUNT( * ) aggregate() 方法 MongoDB aggregate() 为 MongoDB 数据库提供了聚合运算 语法 aggregate() 方法的语法如下 > d…...

【C++】6.模板初阶

交换两个数 任何一个类型交换还要重新写一个函数 如何解决&#xff1f; 模板->写跟类型无关的函数 1.泛型编程 泛型编程&#xff1a;编写与类型无关的通用代码&#xff0c;是代码复用的一种手段。模板是泛型编程的基础。 如何写一个函数适用所有类型的交换? #include &…...

Docker部署Airbyte

Linux环境部署前置要求机器配置2c4g(最低)&#xff0c;4c8g&#xff08;推荐&#xff09;dockerdocker-compose &#xff08;要求新版本的docker-compose&#xff09;安装airbyte,打开终端&#xff0c;进入你想安装airbyte的目录。#Clone代码 git clone https://github.com/air…...

2023王道考研数据结构笔记第一章绪论

第一章 绪论 1.1 数据结构的基本概念 1.数据&#xff1a;数据是信息的载体&#xff0c;是描述客观事物属性的数、字符以及所有能输入到计算机中并被程序识别和处理的符号的集合。 2.数据元素&#xff1a;数据元素是数据的基本单位&#xff0c;通常作为一个整体进行考虑和处理…...

告别空指针让代码变优雅,Optional使用图文例子源码解读

一、前言 我们在开发中最常见的异常就是NullPointerException&#xff0c;防不胜防啊&#xff0c;相信大家肯定被坑过&#xff01; 这种基本出现在获取数据库信息中、三方接口&#xff0c;获取的对象为空&#xff0c;再去get出现&#xff01; 解决方案当然简单&#xff0c;只…...

【C++】哈希——unordered系列容器|哈希冲突|闭散列|开散列

文章目录一、unordered系列关联式容器二、哈希概念三、哈希冲突四、哈希函数五、解决哈希冲突1.闭散列——开放定址法2.代码实现3.开散列——开链法4.代码实现六、结语一、unordered系列关联式容器 在C98中&#xff0c;STL提供了底层为红黑树结构的一系列关联式容器&#xff0c…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...