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

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备&#xff0c;并且图标都没了 错误案例 往上一顿搜索&#xff0c;试了很多博客都不行&#xff0c;比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动&#xff0c;重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化

iOS 应用的发布流程一直是开发链路中最“苹果味”的环节&#xff1a;强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说&#xff0c;这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发&#xff08;例如 Flutter、React Na…...

高抗扰度汽车光耦合器的特性

晶台光电推出的125℃光耦合器系列产品&#xff08;包括KL357NU、KL3H7U和KL817U&#xff09;&#xff0c;专为高温环境下的汽车应用设计&#xff0c;具备以下核心优势和技术特点&#xff1a; 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计&#xff0c;确保在…...