archLinux安装记录

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

适用于 Windows 的 12 个最佳 PDF 编辑器

PDF文档的普遍存在按理说&#xff0c;PDF文档的可读性和可移植性受到专业文档的青睐。 然而&#xff0c;PDF格式的可食用性是一大缺陷。幸运的是&#xff0c;各种 PDF 编辑工具和软件使 PDF 的编辑变得更加容易&#xff0c;这篇文章旨在帮助我们的读者找到其中最好的工具和软件…

java基础day01

1.什么是Java Java是一门编程语言 思考问题&#xff1a; ​ 人和人沟通? ​ 中文 英文 ​ 人和计算机沟通&#xff1f; 计算机语言&#xff1a; C C C# php python 2. Java诞生 前身叫Oak&#xff08;橡树&#xff09;…

16-树-路径总和 II

这是树的第16篇算法&#xff0c;力扣链接。 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,4,…

Django后端开发——Django应用及分布式路由

文章目录 参考资料Django应用创建注册 分布式路由配置分布式路由Step1 - 主路由中调用include函数Step2 - 应用下配置urls.py 配置分布式路由的示例主路由中调用include函数应用下配置urls.py效果 练习创建应用news和sport在settings.py里进行注册urls.pynews下新建urls.py&…

论文精读--对比学习论文综述

InstDisc 提出了个体判别任务&#xff0c;而且利用这个代理任务与NCE Loss去做对比学习从而得到了不错的无监督表征学习的结果&#xff1b;同时提出了别的数据结构——Memory Bank来存储大量负样本&#xff1b;解决如何对特征进行动量式的更新 翻译&#xff1a; 有监督学习的…

解决Webstorm2023使用账号连接GitLab的问题personal access token instead of a password

问题 升级Webstorm之后&#xff0c;发现gitlab仓库拉取代码报错 报错信息 remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token instead of a password. See https…

人工智能技术应用笔记(二):OpenAI SORA文生视频模型技术报告全文中英对照 (GPT4翻译+人工润色)

目录 Video generation models as world simulators&#xff08;视频生成模型作为世界模拟器&#xff09; Turning visual data into patches &#xff08;将视觉数据转换为图像块&#xff09; Video compression network &#xff08;视频压缩网络&#xff09; Spacetim…

解决elementUI固定列后,下方多了一条横线的问题

最近遇到一个bug,如下图,el-table的操作列使用fixed属性固定后,下方多了一条横线: 我们将样式设置高优先,以覆盖内联样式,如下是less里使用穿透样式解决的办法: <style lang="less" scoped> /deep/ .el-table__fixed-right {height: 100

AI智能电话语音通话销售机器人源码,附带系统搭建教程

智能电话语音销售机器人——高效筛选与跟进客户的利器 在快节奏的商业战场上&#xff0c;迅速准确地把握每一个潜在客户是企业制胜的关键。我们的智能电话语音销售机器人正是这样一款能够助力企业轻松应对海量客户数据&#xff0c;实现高效筛选与跟进的利器。 通过简单的资料…

C语言第二十七弹---内存函数

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 内存函数 1、memcpy 使用和模拟实现 2、memmove 使用和模拟实现 3、memset 函数的使用 4、memcmp 函数的使用 总结 前面两弹讲解了字符函数和字符串函数&…

关于项目中websocket的socket.io客户端js库的应用

1.如何使用客户端js库? pnpm add socket.io-client2.如何建立连接&#xff1f; import io from socket.io-client // 参数1&#xff1a;不传默认是当前服务域名&#xff0c;开发中传入服务器地址 // 参数2&#xff1a;配置参数&#xff0c;根据需要再来介绍 const socket i…

PyCharm - Project Interpreter (项目解释器)

PyCharm - Project Interpreter [项目解释器] References File -> Settings… -> Project: -> Project Interpreter References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

vscode突然连不上服务器了,以前都可以的,并且ssh等其它方式是可以连接到服务器的

过完年回来准备开工干活&#xff0c;突然发现vscode连不上服务器了&#xff0c;奇了怪了&#xff0c;年前都可以的&#xff0c;看了一下报错&#xff0c;如下&#xff0c; 以为是服务器挂了&#xff0c;结果执行ssh xxxxxx 发现是可以远程连接的&#xff0c;看来服务器没有问题…

2 分钟,了解 4 个极为有用的 MetricsQL 函数

夜莺社区的朋友如果问时序库的选型&#xff0c;我一般都会推荐 VictoriaMetrics&#xff0c;除了其性能、稳定性、集群扩展能力之外&#xff0c;VictoriaMetrics 还扩展了 PromQL&#xff0c;提供了 MetricsQL&#xff0c;即增强了 PromQL 的能力。比如下面介绍的场景&#xff…

C++学习:list

1.list的定义和结构 list的使用频率不高&#xff0c;在做题时几乎遇不到需要使用list的情景。list是一种双向链表容器&#xff0c;它是标准模板库(STL)提供的一种序列容器。list容器以节点(node的形式存储元素&#xff0c;并使用指针将这些节点链接在一起&#xff0c;形成一个…

算法沉淀——BFS 解决最短路问题(leetcode真题剖析)

算法沉淀——BFS 解决最短路问题&#xff08;leetcode真题剖析&#xff09; 01.迷宫中离入口最近的出口02.最小基因变化03.单词接龙04.为高尔夫比赛砍树 BFS&#xff08;广度优先搜索&#xff09;是解决最短路径问题的一种常见算法。在这种情况下&#xff0c;我们通常使用BFS来…

数据结构中图的概念以及遍历算法的实现

在数据结构中&#xff0c;图&#xff08;Graph&#xff09;是由节点&#xff08;Vertex&#xff09;和连接节点的边&#xff08;Edge&#xff09;组成的一种非线性数据结构。图可以用来表示各种实际问题中的关系和连接&#xff0c;如社交网络、道路网络、电路等。 图由两个主要…

NX/UG二次开发—CAM—平面铣边界准确设置方法

大家在对平面铣设置边界时&#xff0c;经常遇到边界方向与自己期望的不一致&#xff0c;有些人喜欢用检查刀路是否过切来判断&#xff0c;但是对于倒角、负余量等一些情况&#xff0c;刀路本来就是过切的。对于多边界&#xff0c;可以根据选择的曲线来起点和面的方向来确定&…

go redis

go redis 快速入门 安装&#xff1a; go get github.com/redis/go-redis/v9然后创建客户端&#xff1a; package mainimport "github.com/redis/go-redis/v9"func main() {rdb : redis.NewClient(&redis.Options{Addr: "47.109.87.142:6379",Pa…

docker ubuntu tomcat 换源 安装软件

第一种办法参考docker中ubuntu容器更换apt源_ubuntu更改apt源 with dockerfile-CSDN博客 sed -i s/archive.ubuntu.com//mirrors.aliyun.com/g /etc/apt/sources.list sed -i s/security.ubuntu.com//mirrors.aliyun.com/g /etc/apt/sources.list apt update apt install vim…