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, --如果安装第三方主题,必须设置为truemouse = '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) dovim.opt[k] = v
endvim.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_configautocmd!autocmd BufWritePost plugins.lua source <afile> | PackerSyncaugroup 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.hqwc.cn/news/473041.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『运维备忘录』之 Sed 命令详解

运维人员不仅要熟悉操作系统、服务器、网络等只是&#xff0c;甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作&#xff0c;持续给大家更新运维工作所需要接触到的知识点&#xff0c;希望大…

css篇---移动端适配的方案有哪几种

移动端适配 移动端适配是指同一个页面可以在不同的移动端设备上都有合理的布局。主流实现的方案有 响应式布局通过rem或者vw,vh 等实现不同设备有相同的比例而实现适配 首先需要了解viewport 【视口】 视口代表了一个可看见的多边形区域&#xff08;通常来说是矩形&#xff0…

人工智能学习与实训笔记(六):神经网络之智能推荐系统

人工智能学习笔记汇总链接&#xff1a;人工智能学习与实训笔记汇总-CSDN博客 本篇目录 七、智能推荐系统处理 7.1 常用的推荐系统算法 7.2 如何实现推荐 7.3 基于飞桨实现的电影推荐模型 7.3.1 电影数据类型 7.3.2 数据处理 7.3.4 数据读取器 7.3.4 网络构建 7.3.4.1…

LV.23 D2 开发环境搭建及平台介绍 学习笔记

一、Keil MDK-ARM简介及安装 Keil MDK&#xff0c;也称MDK-ARM&#xff0c;Realview MDK &#xff08;Microcontroller Development Kit&#xff09;等。目前Keil MDK 由三家国内代理商提供技术支持和相关服务。 MDK-ARM软件为基于Cortex-M、Cortex-R4、ARM7、ARM9处理器设备…

《Go 简易速速上手小册》第6章:错误处理和测试(2024 最新版)

文章目录 6.1 错误处理机制 - Go 语言中的优雅回旋6.1.1 基础知识讲解6.1.2 重点案例&#xff1a;文件读取器功能描述实现代码 6.1.3 拓展案例 1&#xff1a;网络请求处理器功能描述实现代码 6.1.4 拓展案例 2&#xff1a;数据库查询执行器功能描述实现代码 6.2 编写可测试的代…

C++类和对象-多态->案例1计算器类、案例2制作饮品、案例3电脑组装需求分析和电脑组装具体实现

#include<iostream> using namespace std; #include<string> //分别利用普通写法和多态技术实现计算器 //普通写法 class Calculator { public: int getResult(string oper) { if (oper "") { return m_Num1 m_Num2; …

[AIGC_coze] Kafka 的主题分区之间的关系

Kafka 的主题分区之间的关系 在 Kafka 中&#xff0c;主题&#xff08;Topics&#xff09;和分区&#xff08;Partitions&#xff09;是两个重要的概念&#xff0c;它们之间存在着密切的关系。 主题是 Kafka 中用于数据发布和订阅的逻辑单元。每个主题可以包含多个分区&#x…

【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱2(附带项目源码)

效果演示 文章目录 效果演示系列目录前言拖放、交换物品绘制拖拽物品插槽UI修改Inventory&#xff0c;控制拖放功能 源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列&#xff01;本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第25篇中&#xf…

如何实现Vuex数据持久化

Vuex是一个非常流行的状态管理工具&#xff0c;它可以帮助我们在Vue.js应用中管理和共享数据。然而&#xff0c;当应用重新加载或刷新时&#xff0c;Vuex的状态会被重置&#xff0c;这就导致了数据的丢失。那么&#xff0c;如何才能实现Vuex的数据持久化呢&#xff1f;让我们一…

Pytorch卷积层原理和示例 nn.Conv1d卷积 nn.Conv2d卷积

内容列表 一&#xff0c;前提 二&#xff0c;卷积层原理 1.概念 2.作用 3. 卷积过程 三&#xff0c;nn.conv1d 1&#xff0c;函数定义&#xff1a; 2, 参数说明: 3,代码: 4, 分析计算过程 四&#xff0c;nn.conv2d 1, 函数定义 2, 参数&#xff1a; 3, 代码 4, 分析计算过程 …

Linux常用命令总结-2

文章目录 1. 关闭防火墙2. 用户组管理3. 系统的性能监控 1. 关闭防火墙 service iptables stop2. 用户组管理 1.添加用户 useradd 用户名需要在root用户下&#xff0c;否则没有权限 2. 删除用户 userdel 用户名3. 修改用户密码 passwd 用户名3. 系统的性能监控 1.监控cp…

电商小程序08调用缓存

目录 1 将信息存入缓存中2 获取登录信息3 退出登录4 发布预览总结 小程序的登录功能里&#xff0c;如果只是将登录信息保存到全局变量中&#xff0c;存在的问题是如果小程序重新打开&#xff0c;用户的登录状态就丢失了。为了解决这个问题&#xff0c;我们需要用到微搭的缓存的…