当前位置: 首页 > 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…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素&#xff0c;返回一个新的数组。 特点&#xff1a; 不修改原数组&#xff1a;slice 不会改变原数组&#xff0c;而是返回一个新的数组。提取数组的部分&#xff1a;slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...

全面解析数据库:从基础概念到前沿应用​

在数字化时代&#xff0c;数据已成为企业和社会发展的核心资产&#xff0c;而数据库作为存储、管理和处理数据的关键工具&#xff0c;在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理&#xff0c;到社交网络的用户数据存储&#xff0c;再到金融行业的交易记录处理&a…...

FOPLP vs CoWoS

以下是 FOPLP&#xff08;Fan-out panel-level packaging 扇出型面板级封装&#xff09;与 CoWoS&#xff08;Chip on Wafer on Substrate&#xff09;两种先进封装技术的详细对比分析&#xff0c;涵盖技术原理、性能、成本、应用场景及市场趋势等维度&#xff1a; 一、技术原…...