2023安装archlinux笔记

news2024/9/30 21:28:42

本文只是个笔记,不是详细教程,仅供参考。

安装过程基本与
《2021年vmware安装archlinux》
https://blog.csdn.net/lxyoucan/article/details/115226297
差不多。

无U盘安装

不想格式化U盘了,直接从硬盘安装。参考一下文章。

《没有U盘纯硬盘安装linux之Archlinux》
https://blog.csdn.net/lxyoucan/article/details/124519765

命令行连wifi

原本使用以下方法是可行的,但是在2023版本的安装光盘中好像没有wlist
《archlinux wifi 开机自动连接》
https://blog.csdn.net/lxyoucan/article/details/124531129

使用iwlist 代替

# 查看wifi列表
iwlist scanning | grep ESSID
#生成密码配置文件
wpa_passphrase wifiname password > internet.conf
#连接wifi
wpa_supplicant -c internet.conf -i wlan0 &
#自动生成ip
dhcpcd &

启用SSH(可选)

通过ssh远程安装,可以直接复制粘贴一些命令,省的纯手打了。

查ip 执行 ip addr 我这里查到的ip 是 172.16.184.11
设置root密码

passwd root

客户端连接ssh 命令如下:

ssh root@172.16.184.11

简单的3步就可以粘贴命令了,复制粘贴要程序员的本能。
而且也方便我后续操作的截图。

禁用 reflector

2020 年新版 archliveiso 加入了 reflector 服务,它会自己更新
mirrorlist。在特定情况下,它会误删某些有用的源信息。这里联网后的第一件事就是将其禁用。也许它是一个好用的工具,但是很明显,它并不适合在安装的时候启用。

systemctl stop reflector.service

更新系统时钟

timedatectl set-ntp true    #将系统时间与网络时间进行同步
timedatectl status          #检查服务状态

更换国内镜像源加快下载速度

这一步很关键,我第一次安装,根据官方文档一步步安装,后来在安装步骤等待了1个多小时,还没成功,被迫放弃重新来一遍。
后来在https://archlinuxstudio.github.io/ArchLinuxTutorial/#/rookie/basic_install看到设置源的内容。

vim /etc/pacman.d/mirrorlist

在这里插入图片描述

Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.hit.edu.cn/archlinux/$repo/os/$arch

在上面放上国内的源。

分区

如果是全新的盘,分区方法可以参考:
《2021年vmware安装archlinux》
https://blog.csdn.net/lxyoucan/article/details/115226297

因为我的磁盘里是双系统,我分区是在PE中提前分好了。
在这里插入图片描述
因为我的磁盘空间比较小,我这里根据个人习惯只分一个/分区,/home之类的其他分区,暂时不考虑。

我这里只要格式化一下就好了。

mkfs.ext4 /dev/nvme0n1p5

挂载

#挂载主分区 对应最终的/分区
mount /dev/nvme0n1p5 /mnt
mkdir /mnt/boot
#挂载引导分区
mkdir /mnt/boot/EFI
mount /dev/nvme0n1p1 /mnt/boot/EFI

安装

  • 基础包
pacstrap /mnt base base-devel linux linux-firmware  #base-devel在AUR包的安装是必须的

如果你这一步特别久,请检查一下是不是国内镜像源设置的有问题。我一开始没设置特别慢,等待了1个多小时,实在等不下去,又重新安装的。

  • 功能性软件
pacstrap /mnt dhcpcd  iwd vim sudo bash-completion   #一个有线所需 一个无线所需 一个编辑器  一个提权工具 一个补全工具 iwd也需要dhcpcd
  • wifi相关
    虚拟机种一般不用,物理机可能需要安装。
pacstrap /mnt dhcpcd  wireless_tools wpa_supplicant

配置系统

Fstab

生成一个fstab文件(分别使用-U或-L定义UUID或标签):

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

检查生成的/mnt/etc/fstab文件,并在出现错误的情况下对其进行编辑。

Chroot

将root更改为新系统:

arch-chroot /mnt

设置时区

在这里插入图片描述

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

将系统时间同步到硬件时间

hwclock --systohc

设置 Locale

vim /etc/locale.gen

,去掉 en_US.UTF-8 行以及 zh_CN.UTF-8 的注释符号(#)。
在这里插入图片描述
在这里插入图片描述
配置完成以后运行:

locale-gen

生成 locale。
向 /etc/locale.conf 输入内容

根据自己需要选择环境,二选一。我更喜欢中文的。
英文环境:

echo 'LANG=en_US.UTF-8'  > /etc/locale.conf

中文环境:

echo 'LANG=zh_CN.UTF-8'  > /etc/locale.conf

安装微码

pacman -S intel-ucode   #Intel
pacman -S amd-ucode     #AMD

安装引导程序

pacman -S grub efibootmgr   #grub是启动引导器,efibootmgr被 grub 脚本用来将启动项写入 NVRAM。
grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=GRUB #取名为GRUB 并将grubx64.efi安装到之前的指定位置

在这里插入图片描述
最后生成 GRUB 所需的配置文件

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

在这里插入图片描述

完成安装

设置root的密码!!! 不能忘记这一步,否则重启无法登录啦。

passwd root
exit                # 退回安装环境#
umount -R  /mnt     # 卸载新分区
reboot              # 重启

重启以后就可以正常启动了,安装完成。

网络开机自动连接

安装完成后,发现网络不通。

systemctl enable dhcpcd  #设置开机启动
systemctl start dhcpcd  #立即启动dhcp

如果是有线网络,等待一会儿,ping www.baidu.com 发现网络已经通了。

此时重启后,wifi是没有成功连接的。还需要手连接。
使用以下方法可以开启自动连接wifi
《archlinux wifi 开机自动连接》
https://blog.csdn.net/lxyoucan/article/details/124531129

创建用户

# 创建用户
useradd -m -g users -G wheel -s /bin/bash itkey
# 修改密码
passwd itkey

让刚创建的用户拥有sudo 权限。

EDITOR=vim visudo

在这里插入图片描述
把约82行的 %wheel ALL=(ALL) ALL 前面的#去掉

安装ssh

现在ssh是无法连接的,安装一下ssh服务。方便我远程安装系统。

pacman -S openssh
# 查看状态
systemctl status sshd.service
# 启动服务
systemctl start sshd
#开机启动
systemctl enable sshd.service

默认不支持root登录,如果需要root登录。

vim /etc/ssh/sshd_config

增加如下配置(如果已经有则在此基础上修改):

PermitRootLogin yes

安装图形界面相关的软件

我本人主要使用平铺桌面的。图形界面的安装可以参考:
《archlinux配置Xfce+fcitx5中文输入法》
https://blog.csdn.net/lxyoucan/article/details/116897679

#一个平铺窗口管理器
pacman -S awesome
# 没有安装X服务的,桌面环境都依赖它,需要安装一下
sudo pacman -S xorg-server --noconfirm
# 安装中文字体,解决乱码的问题
sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei --noconfirm
# 安装xinit
sudo pacman -S xorg-xinit --noconfirm
#lxdm显示管理器
pacman -S lxdm --noconfirm

开机自动启动
当然有喜欢图形界面的朋友,喜欢很次开机都自动进界面而不是图形界面,可以如下设置:

#开机启动显示管理器
systemctl enable lxdm
#立即开启lxdm
systemctl start lxdm

这样登录界面就可以出来了。

不知道为什么,我使用LightDM无法启动服务,后来换成lxdm就可以正常访问了。

4K屏设置dpi

4K显示器,i3wm默认显示字体太小了。如何调整呢?
如果您没有使用桌面环境(如 KDE、Xfce 或其他为您操作 X 设置的环境),您可以通过 Xresources 中的变量手动设置所需的 DPI 设置:Xft.dpi
对于 ,使用 96 的整数倍通常效果最好,例如 192 表示 200% 缩放。Xft.dpi

创建文件~/.Xresources
内容如下:

Xft.dpi: 180

设置完成以后,重启生效。

kitty终端

我这里使用kitty,细节可以参考:
《kitty终端使用笔记》
https://blog.csdn.net/lxyoucan/article/details/124423741

开启 32 位支持库与 ArchLinuxCN 支持库

vim /etc/pacman.conf

去掉[multilib]一节中两行的注释,来开启 32 位库支持。
在文档结尾处加入下面的文字,来开启 ArchLinuxCN 源。

[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

修改后的文件末尾如下:

[multilib]
Include = /etc/pacman.d/mirrorlist
[archlinuxcn]
SigLevel = Optional TrustAll
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

最后:wq 保存退出,刷新 pacman 数据库。

pacman -Syyu

重启电脑,即可看到欢迎界面,输入新用户的密码即可登录桌面。

安装yay

《ArchLinux常用软件》
https://blog.csdn.net/lxyoucan/article/details/124559199

sudo pacman -S yay

edge浏览器

 yay -S microsoft-edge-stable-bin

开机自动连接蓝牙键盘

《linux命令行连接蓝牙键盘》
https://blog.csdn.net/lxyoucan/article/details/124705648

grub增加windows的启动菜单(未成功)

vim /etc/default/grub

增加以下
GRUB_DISABLE_OS_PROBER=false
这样就可以扫描到其他的系统。
然后重启生成启动配置文件

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

与windows共用蓝牙键盘

《windows11 + linux 蓝牙连接问题》
https://blog.csdn.net/lxyoucan/article/details/125594711

[LinkKey]
Key=6DE336B406A045D4B9EFCB18636A8CA6

archlinux安装nodejs版本管理器nvm

《archlinux安装nodejs版本管理器nvm》
https://blog.csdn.net/lxyoucan/article/details/126868907

网易云音乐

sudo pacman -S netease-cloud-music

高分屏设置dpi
Linux:

①命令行启动附加参数–force-device-scale-factor=1.5

②修改desktop文件

/usr/share/applications/netease-cloud-music.desktop
Exec=netease-cloud-music --force-device-scale-factor=1.5 %U

(PS:1.5为缩放倍速可自行调整)

参考:
https://zhuanlan.zhihu.com/p/392892970

i3wm开启自动设置显示器顺序方向分辨率

https://blog.csdn.net/lxyoucan/article/details/124794123

自动挂载NTFS

sudo pacman -S ntfs-3g

手动挂载

root用户执行以下命令

#挂载C盘
ntfs-3g /dev/nvme0n1p3 /mnt/windows
#挂载D盘
ntfs-3g /dev/nvme0n1p4 /mnt/data

自动挂载

编辑/etc/fstab
增加内容如下:

/dev/nvme0n1p3          /mnt/windows    ntfs-3g defaults        0       0
/dev/nvme0n1p4          /mnt/data       ntfs-3g defaults        0       0

这样重启电脑也会自动挂载。
参考:
《NTFS-3G》https://wiki.archlinux.org/title/NTFS-3G

音频控制

我的声音一开始很奇怪,一会儿从笔记本电脑中输出。一会儿从HDMI的音频口输出。搞的我整个人都要疯狂了。

sudo pacman -Sy pavucontrol

由于pavucontrol使用PulseAudio,因此还必须安装:pacman -s pulseaudio。重新启动后(可能需要启动PulseAudio的systemd作业),pavucontrol可以连接到PulseAudio。

参考:
https://qastack.cn/unix/390907/sound-via-hdmi-on-arch-linux

截图

《i3wm中截图软件flameshot deepin-screenshot》
https://blog.csdn.net/lxyoucan/article/details/124752394

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/373207.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是全站加速(DCDN)

全站加速(DCDN) 在阅读本文之前,如果你还没有看过 你管这玩意儿叫CDN 这篇文章,可以先去看一下,然后再来阅读本文,效果会更好一些。 什么是全站加速 全站加速DCDN(Dynamic Route for Content…

每日分享(苹果CMS V10仿韩剧TV主题模板源码)

demo软件园每日更新资源,请看到最后就能获取你想要的: ​ 1.低代码引擎技术白皮书 PDF高清版 低代码引擎是一款为低代码平台开发者提供的,具备强大定制扩展能力的低代码设计器研发框架。本白皮书从应用、基础协议和原理三个方面对低代码引擎的技术进行了全面的介绍…

计算机网络体系结构及分层参考模型

文章目录一、分层设计思想的提出二、网络分层的必要性三、什么是计算机网络体系结构四、计算机网络参考模型OSI参考模型/五层参考模型/TCP/IP参考模型一、分层设计思想的提出 最早提出分层思想的是 ARPANET网。1969年11月,美国国防部开始建立一个命名为ARPANET的网络…

c++编程入门到精通(四) 编译过程详解(g++ 编译选项 & cmake编译初解 vscode调试c++)

目录1. g编译基础1.1 g编译过程简述1.2 安装2.g编译过程2.1 g编译选项2.2 g编译实例2.2.1直接编译2.2.2 生成库文件并编译2.2.3 运行可执行文件3. cmake初步3.1 基本特点3.2 CMake基础3.2.1 CMake常见指令3.2.2 CMake常用变量4. CMake编译工程4.1两种方式设置编译规则&#xff…

生活中我们的那些疑惑

在我们日常生活我们大多数都没有天生优势,怎么样让我们创新力和创造力得到最大限度的发挥?也是决定我财商的大小的基础。通过学习努力不断提升我们自身的认知,把认知不确定性尽量降低。 在认知方面,积极情绪最大的作用是让我们更愿…

(四十一)Read Committed隔离级别是如何基于ReadView机制实现的?

今天我们来给大家讲一下,基于之前我们说的ReadView机制是如何实现Read Committed隔离级别的,那么当然了,首先就是要先做一些简单的回顾。所谓的Read Committed隔离级别,我们可以用骚气一点的名字,就是简称为 RC 隔离级…

Java开发环境搭建

什么是JDK、JREJVM 简介JDK下载Hello WorldJava程序开发的三个步骤编写编译运行什么是JDK、JRE JDK ( J ava D evelopment K it):是Java程序开发工具包,包含JRE和开发人员使用的工具。JRE(Java Runtime Environment&a…

数据库管理-第五十八期 倒腾PDB(20230226)

数据库管理 2023-02-26第五十八期 倒腾PDB1 克隆本地PDB2 没开归档总结第五十八期 倒腾PDB 其实本周过的不大好,连着两天熬夜,一次是割接一次是处理ADG备库的异常,其实本周有些内容是以前处理过的问题,到了周末还肚子痛。哎… 1…

【数据库】 第11章 并发控制

第11章 并发控制 事务 事务:(从微观角度,或者从DBMS角度)是数据库管理系统提供的控制数 据操作的一种手段,通过这一手段,应用程序员将一系列的数据库操作组合 在一起作为一个整体进行操作和控制,以便数据库管理系统能…

【Linux驱动开发100问】什么是Linux内核?

🥇今日学习目标:什么是Linux内核? 🤵‍♂️ 创作者:JamesBin ⏰预计时间:10分钟 🎉个人主页:嵌入式悦翔园个人主页 🍁专栏介绍:Linux驱动开发100问 什么是Lin…

SpringMVC源码:DispatcherServlet初始化流程

参考资料: 《SpringMVC源码解析系列》 《SpringMVC源码分析》 《Spring MVC源码》​​​​​​​ 写在开头:本文为个人学习笔记,内容比较随意,夹杂个人理解,如有错误,欢迎指正。 目录 前文 1、简介 2…

Java实现简单KV数据库

用Java实现一个简单的KV数据库 开发思路: 用map存储数据,再用一个List记录操作日志,开一个新线程将List中的操作写入日志文件中,再开一个线程用于网络IO服务接收客户端的命令,再启动时检查日志,如果有数据就…

3.1 网站树的爬起路径

一个网站往往由很多相互关联的网页组成,每个网页上都可能包含我们所要关心的数据,那么我们怎么样获取这些数据呢?显然我们必须穿梭于各个网页之间,那么按什么样的规则穿梭呢?常用的有深度优先与广 度优先方法。为了说明…

0402换元积分法-不定积分

文章目录1 第一类换元法1.1 定理11.2 例题1.2 常见凑微分形式1.2.1常见基本的导数公式的逆运算1.2.2被积函数含有三角函数2 第二类换元法2.1 定理22.2 常见第二换元代换方法2.2.1 三角代换-弦代换2.2.2 三角代换-切代换2.2.3 三角代换-割代换2.2.4 三角代换汇总2.2.5 倒代换2.2…

java基础系列(六) sleep()和wait() 区别

一.前言 关于并发编程这块, 线程的一些基础知识我们得搞明白, 本篇文章来说一下这两个方法的区别,对Android中的HandlerThread机制原理可以有更深的理解, HandlerThread源码理解,请查看笔者的这篇博客: HandlerThread源码理解_handlerthread 源码_broadview_java的博客-CSDN博…

requests库---(1)requests简介

目录:导读 request简介 requests安装 requests发送get请求 requests请求post 返回值其他内容 写在最后 在做接口测试,接口自动化测试的时候都会用到很多工具,如postman、jmeter、pytest等工具,除了这些工具外,我…

ESP32设备驱动-MAX30100心率监测传感器驱动

MAX30100心率监测传感器驱动 1、MAX30100介绍 MAX30100 是一款集成脉搏血氧饱和度和心率监测传感器解决方案。 它结合了两个 LED、一个光电探测器、优化的光学器件和低噪声模拟信号处理,以检测脉搏血氧饱和度和心率信号。 MAX30100 采用 1.8V 和 3.3V 电源供电,可通过软件…

单机模拟kafka分布式集群(演示生产、消费数据过程)

用单机搭建kafka伪分布式集群,其实集群的概念并不复杂 先说明一下,以下的每个服务启动后都需要新开一个终端来启动另外的服务(因为是集群,自然会用多个终端) 首先下载kafka 提取码:dvz4 或者直接去官网下载kafka_2.11-1.0.0.tgz t…

DevOps实战50讲-(1)彻底理解DevOps

持续坚持原创输出,点击蓝字关注我吧软件质量保障:所寫即所思|一个阿里质量人对测试的所感所悟。浅谈软件开发流程软件开发流程是从需求分析、设计、编码、测试到上线等一系列环节的步骤和活动。通常来说,软件开发流程可以分为以下几个阶段&am…

Vue3电商项目实战-商品详情模块7【21-商品详情-评价组件-头部渲染、22-商品详情-评价组件-实现列表】

文章目录21-商品详情-评价组件-头部渲染22-商品详情-评价组件-实现列表21-商品详情-评价组件-头部渲染 目的:根据后台返回的评价信息渲染评价头部内容。 yapi 平台可提供模拟接口,当后台接口未开发完毕或者没有数据的情况下,可以支持前端的开…