archLinux安装记录

news2024/11/25 2:52:39

archLinux安装记录

基于wsl的arch

启用wsl

首先,按Win + S搜索启用或关闭Windows功能(Turn Windows features on or off),打开虚拟机平台和WSL,并重启Windows。

重启后,进入Windows设置,检查更新。

更新完成后,进入Power Shell,执行:

wsl --set-default-version 2

这样可以将默认WSL版本设置为WSL2。

下载Arch Linux

到清华大学TUNA开源镜像站下载Arch Linux:

Index of /archlinux/iso/latest/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

下载archlinux-bootstrap-xxxx.xx.xx-x86_64.tar.gz,注意是tar.gz文件。

安装Arch Linux

在GitHub下载LxRunOffline,Releases · DDoSolitary/LxRunOffline,选mingw或msvc版本均可。

  1. 在你想要安装Linux的位置创建一个目录,我这里选择D:\Arch。

  2. 将刚才下载好的tar.gz放进D:\Arch

  3. LxRunOffline解压好也放进D:\Arch

  4. 在D:\Arch文件夹空白位置,右击,打开Power Shell

  5. 在Power Shell中,输入:

    .\LxRunOffline i -n Arch -f archlinux-bootstrap-2022.05.01-x86_64.tar.gz -d D:\Arch -r root.x86_64
    

    -n后面跟一个系统名称,可自取。

    -f后面跟上你下载的Arch Linux压缩包,注意日期。

    -d后面跟上你的安装目录。

  6. 在Power Shell中,输入:

wsl --set-version Arch 2

​ Arch是你起的系统名,将Arch设为WSL2。

进入Arch Linux

  1. 进入Power Shell,输入
wsl -d Arch
  1. 删除/etc/resolv.conf
rm /etc/resolv.conf
  1. 退出,回到Power Shell
exit
  1. 重启Arch Linux
wsl --shutdown Arch
wsl -d Arch
  1. 添加清华Tuna源,打开pacman配置
cd /etc/
explorer.exe .

​ 打开pacman.conf,在文件末尾添加:

[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
  1. cd到下一级目录pacman.d,编辑mirrorlist,取消注释掉China的两个清华Tuna源链接,当然也可以取消注释所有链接。

  1. 回到Arch Linux,执行
pacman -Syy
pacman-key --init
pacman-key --populate
pacman -S archlinuxcn-keyring
  1. 安装基础软件
pacman -S base base-devel vim git wget curl

创建Linux账号

在Arch Linux中

  1. 给root加密码:
passwd
  1. 新建普通用户
useradd -m -G wheel -s /bin/bash 用户名
passwd 用户名
  1. 给用户提权。编辑/etc/sudoers
vim /etc/sudoers

​ 将wheel ALL=(ALL) ALL取消注释,保存并退出。

  1. 查看当前id
id -u 用户名

​ 记录下账号id

  1. 退出Arch Linux,回到Power Shell
exit
  1. 执行
.\LxRunOffline su -n Arch -v 账户id

​ -n后面跟WSL虚拟机的名字,我的是Arch。

​ 这样,下一次登录会自动进入刚创建的用户。

语言本地化 方法一

  1. 编辑/etc/locale.gen
vim /etc/locale.gen

​ 将en_US.UTF8 UTF-8和zh_CN.UTF8 UTF-8取消注释,如果需要其他语言,请一并取消注释。

  1. 执行
locale-gen 
locale
locale -a
  1. 编辑/etc/locale.conf
vim /etc/locale.conf

​ 添加如下内容

# /etc/locale.conf
LANG=en_US.UTF-8

重启Arch Linux,即可完成配置

语言本地化 方法二(设置 Locale 进行本地化)

Locale 决定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。

  1. 编辑 /etc/locale.gen,去掉en_US.UTF-8 所在行以及 zh_CN.UTF-8 所在行的注释符号(#)。

  2. 然后使用如下命令生成 locale。

locale-gen

  1. 向 /etc/locale.conf 导入内容

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

终端显示中文!!

~/.bashrc里单独设置中文 locale,即添加下面两行到文件的最开头

export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US

安装Neovim

  1. 进入Arch Linux,执行:
sudo pacman -S neovim
  1. 安装配套软件:gcc/g++/gdb
sudo pacman -S gcc gdb
  1. Python
sudo pacman -S python
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
pip install neovim
  1. Node.js
sudo pacman -S nodejs npm
npm install neovim
  1. 用Neovim替代Vim,如果你装了zsh,编辑/.zshrc,若没装,编辑/.bashrc。
alias vi='vim'
alias vim='nvim'

Neovim

配置Neovim基本选项

  1. 在Arch Linux的用户根目录~中,建立如下目录结构:

cd ~
mkdir .config && cd .config
mkdir nvim && cd nvim
mkdir lua && cd lua
mkdir user && cd user
mkdir conf dap lsp
  1. 在nvim文件夹下新建init.lua,在user文件夹下新建options.lua。

编辑init.lua,编写加载程序:

require "user.options"

​ 保存并退出。

  1. 编辑options.lua,编写基本配置:
local options = {
    cmdheight = 1,
    showmode = true, --右下角显示模式
    conceallevel = 0,
    termguicolors = true, --如果安装第三方主题,必须设置为true
    mouse = 'a', --允许鼠标
    fileencoding = 'utf-8', --utf8编码
    ignorecase = true, --查找时忽略大小写
    smartcase = true, --智能大小写
    smartindent = true, --智能锁进
    cindent = true,
    autoindent = true, --自动缩进
    tabstop = 4, --Tab宽度
    shiftwidth = 4, --每次Shift调整的缩进
    number = true, --行号
    relativenumber = true, --相对行号
    showtabline = 2,
    wrap = false, --不自动换行
    cursorline = true, --高亮当前行
    cursorcolumn = false, --不高亮当前列
    showcmd = true, --右下角显示命令
}
--这里只列举基础的配置,更多选项可以在Vim中:set all查询

--应用上面配置
vim.opt.shortmess:append 'c'
for k, v in pairs(options) do
    vim.opt[k] = v
end

vim.cmd "set whichwrap+=<,>,[,],h,l"

--WSL与Windows同步剪贴板
vim.cmd([[
let g:clipboard = {
	\   'name': 'win32yank-wsl',
	\   'copy': {
	\      '+': 'win32yank.exe -i --crlf',
	\      '*': 'win32yank.exe -i --crlf',
	\    },
	\   'paste': {
	\      '+': 'win32yank.exe -o --lf',
	\      '*': 'win32yank.exe -o --lf',
	\   },
	\   'cache_enabled': 0,
	\ }
]])

按键映射

由于我的键盘可以更改键位,所以我选择不进行按键映射,如果需要设置按键映射,可以进入南风璇的文章

现代Neovim配置-(2)-按键映射 - 知乎 (zhihu.com)

插件管理

在Neovim中,推荐使用基于Lua的Packer作为插件管理器。

1.安装Packer

git clone --depth 1 https://github.com/wbthomason/packer.nvim\
 ~/.local/share/nvim/site/pack/packer/start/packer.nvim
  1. 安装插件

​ 在~/.config/nvim/lua/user下创建plugins.lua。

​ 编辑~/.config/nvim/init.lua,追加:require 'user.plugins'

​ 编辑plugins.lua,添加:

return require('packer').startup(function()
    	use 'wbthomason/packer.nvim'
	
end)

​ 在function()和end之间添加你需要的插件:

​ 比如安装One Dark主题:

return require('packer').startup(function()
    use 'wbthomason/packer.nvim'
    use "navarasu/onedark.nvim"

end)

保存并退出,重新进入Neovim,执行命令::PackerSync

  1. 卸载插件

​ 打开plugins.lua,将想要卸载的插件注释掉或删除掉。

退出并重新打开Neovim,执行::PackerClean

  1. 设置自动同步

​ 我们不希望在安装插件的时候反复重启Neovim,可以在plugins.lua文件头部追加:

vim.cmd [[
	augroup packer_user_config
		autocmd!
		autocmd BufWritePost plugins.lua source <afile> | PackerSync
	augroup end
]]

​ 这样每次保存plugins.lua文件时,Packer会自动同步插件,无需重启Neovim。

  1. 浮窗显示Packer(这个功能我没有设置成功)

​ 在plugins.lua中添加:

packer.init {
	display = {
		open_fn = function()
		    return require('packer.util').float { border = 'rounded' }
		end,
	}
}

zsh(已完成,待编写)

oh-my-zsh

插件

netofetch

安装Neofetch并使用它在终端中显示系统信息

  1. 安装

sudo pacman -S netofetch

  1. 使用

neofetch

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

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

相关文章

Lua内存管理策略

传统的内存管理策略主要分为两种&#xff1a;引用计数&#xff0c;和垃圾回收。相比后者每一段时间执行一次回收周期&#xff0c;前者是对于每一个变量都维护被引用数的策略。对于Lua这种轻量化语言而言&#xff0c;占据大内存的开销是极力避免的&#xff0c;而前者的方式显然是…

自动化测试-RIDE编写自动化脚本

自动化脚本软件测试的必修内容&#xff0c;是自动化测试的核心&#xff0c;脚本的逻辑严谨性、可维护性非常重要&#xff0c;优秀的自动化脚本需要能兼顾用例的正确有效性和自动化测试的效率&#xff0c;本篇文章将介绍如何用RIDE写自动化脚本。我们将深入探讨RIDE的具体用法&a…

websocket数据帧格式

客户端、服务端数据的交换&#xff0c;离不开数据帧格式的定义。因此&#xff0c;在实际讲解数据交换之前&#xff0c;我们先来看下WebSocket的数据帧格式。 WebSocket客户端、服务端通信的最小单位是帧&#xff08;frame&#xff09;&#xff0c;由1个或多个帧组成一条完整的消…

【Node.js】path 模块进行路径处理

Node.js 执行 JS 代码时&#xff0c;代码中的路径都是以终端所在文件夹出发查找相对路径&#xff0c;而不是以我们认为的从代码本身出发&#xff0c;会遇到问题&#xff0c;所以在 Node.js 要执行的代码中&#xff0c;访问其他文件&#xff0c;建议使用绝对路径 实例&#xff1…

比特币 P2PKH、P2SH

标准脚本P2PKH、P2SH 区块链重要基础知识7-1——标准脚本P2PKH、P2SH-CSDN博客 比特币中P2SH(pay-to-script-hash)多重签名的锁定脚本和解锁脚本 https://www.cnblogs.com/itlgl/p/10419325.html

如何设置HTML页面文字格式?

如何设置HTML页面文字格式&#xff1f; HTML 里的文本元素真的好有趣&#xff0c;它们能让文字呈现出不同的样式和含义。我决定深入探索一下&#xff0c;看看这些元素到底有哪些魔法。 HTML 文本格式化初探 在 HTML 里&#xff0c;想要改变文本的样式&#xff0c;就得靠那些…

【机器学习笔记】 9 集成学习

集成学习方法概述 Bagging 从训练集中进行子抽样组成每个基模型所需要的子训练集&#xff0c;对所有基模型预测的结果进行综合产生最终的预测结果&#xff1a; 假设一个班级每个人的成绩都不太好&#xff0c;每个人单独做的考卷分数都不高&#xff0c;但每个人都把自己会做的…

JDK8新增的时间

设计更合理&#xff0c;功能更丰富&#xff0c;使用更方便&#xff0c;都是不可变的对象&#xff0c;修改后会返回新的事件对象不会丢失最开始的时间&#xff0c;线程安全&#xff0c;能精确到毫秒、纳秒。 这三个类都有一个静态方法now()&#xff1a;获取系统当前时间对应的该…

爬虫-华为云空间备忘录导出到docx-selenium控制浏览器行为-python数据处理

背景适用情况介绍 老的荣耀手机属于华为云系统&#xff0c;家里人换了新荣耀手机属于荣耀云系统无法通过云空间将备忘录转移到新手机&#xff0c;不想让他们一个一个搞&#xff0c;于是整了一晚上想办法爬取下来。从网页抓取下来&#xff0c;然后存到docx文档中&#xff08;包…

不花一分钱,在 Mac 上跑 Windows(M1/M2 版)

这是在 MacOS M1 上体验最新 Windows11 的效果&#xff1a; VMware Fusion&#xff0c;可以运行 Windows、Linux 系统&#xff0c;个人使用 licence 免费 安装流程见 &#x1f449; https://zhuanlan.zhihu.com/p/452412091 从申请 Fusion licence 到下载镜像&#xff0c;再到…

phpstrom创建thinkphp项目

安装php和composer 参考 安装phpstrom 创建项目 查看thinkphp版本 https://packagist.org/packages/topthink/think 打开所在项目编辑配置 即可调试运行

软件工程师,超过35岁怎么办

概述 随着科技行业的飞速发展&#xff0c;软件开发工程师的职业道路充满了各种机遇和挑战。对于已经在这个行业摸爬滚打了十多年的软件开发工程师来说&#xff0c;当他们步入35岁这个年纪时&#xff0c;可能会感到一些迷茫和焦虑。许多人担忧&#xff0c;在以创新、活力、快速迭…

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成

Swagger是什么&#xff1f; Swagger是一个规范且完整API文档管理框架&#xff0c;可以用于生成、描述和调用可视化的RESTful风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口&#xff0c;可以让人和计算机拥有无须访问源码、文档或网络流量监测就…

MySQL篇之覆盖索引

一、定义 覆盖索引是指查询使用了索引&#xff0c;并且需要返回的列&#xff0c;在该索引中已经全部能够找到。 二、例子 1. id为主键&#xff0c;默认是主键索引。 2. name字段为普通索引。 select * from tb_user where id 1 覆盖索引 select id&#xff0c;na…

Codeforces Round 486 (Div. 3)

目录 A. Diverse Team B. Substrings Sort C. Equal Sums D. Points and Powers of Two E. Divisibility by 25 F. Rain and Umbrellas A. Diverse Team 找出不重复的同时存下下标即可&#xff0c;依次遍历map判断重复最后判断数量即可 void solve(){cin>>n>>…

太炸了!Sora深夜发布!网友:我要失业了

2022年末&#xff0c;OpenAI聊天机器人ChatGPT的面世无疑成为了引领人工智能浪潮的标志性事件&#xff0c;宣告了新一轮科技革命的到来。无论是聊天娱乐、教育学习&#xff0c;还是工作生产、医疗健康等领域&#xff0c;人工智能正以前所未有的速度渗透到我们生活的方方面面。 …

ClickHouse--10--临时表、视图、向表中导入导出数据

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.临时表1.1 特征1.2 创建一个临时表 2.视图2.1 普通视图2.2 物化视图 3.向表中导入导出数据3.1 案例 1.临时表 1.1 特征 ClickHouse 支持临时表&#xff0c;临时表…

【网站项目】154智能无人仓库管理

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【图论】2-SAT

参考资料&#xff1a;2-SAT学习笔记 什么是2-SAT问题呢&#xff1f; (a∨b∨c)∧(a∨b∨c)∧(a∨b∨c)&#xff0c;给出一个类似于这样的式子&#xff0c;让你找出满足条件的一个解&#xff0c;这样的问题就是SAT问题&#xff0c;因为每一个括号内都有三个被限制的变量&#…

人工智能学习与实训笔记(七):神经网络之模型压缩与知识蒸馏

人工智能学习笔记汇总链接&#xff1a;人工智能学习与实训笔记汇总-CSDN博客 本篇目录 七、模型压缩与知识蒸馏 7.1 模型压缩 7.2 知识蒸馏 7.2.1 知识蒸馏的原理 7.2.2 知识蒸馏的种类 7.2.3 知识蒸馏的作用 七、模型压缩与知识蒸馏 出于对响应速度&#xff0c;存储大…