Perforce Helix Core版本控制
1   简介
git和svn适合管理文本类的代码文件,perforce更适合管理像游戏资产3D模型、psd图像文件等的大型文件。
2   安装
官网下载:点击跳转
git和svn适合管理文本类的代码文件,perforce更适合管理像游戏资产3D模型、psd图像文件等的大型文件。
官网下载:点击跳转
打开vbox虚拟机的设置->网络->高级->端口转发->新建规则:名称ssh,协议TCP,主机IP127.0.0.1,主机端口9191,子系统IP留空不填,子系统端口22。
故障情况:VirtualBox新安装ubuntu 18.04虚拟机无法打开Terminal,从应用列表中单击Terminal,左上角任务栏会出现Terminal,并且鼠标转圈,但是过一会左上角Terminal消失,就像闪退一样。
解决方法:CTRL + ALT + F3 进入命令行模式(需要返回桌面时CTRL + ALT + F1)
1 | cd /etc/default |
可以观察下是否VirtualBox虚拟机底下状态栏是否出现了一个绿色海龟的图标,那证明当前VirtualBox运行在软件虚拟化模式,这确实会是十分缓慢的。而硬件虚拟化模式图标应该是蓝色的V。
问题原因:其他虚拟化技术软件启动hyper-v或者虚拟机平台功能引起,比如安装Docker Desktop开启wsl2功能后导致VirtualBox运行缓慢。
解决方法:
bcdedit /set hypervisorlaunchtype off
,执行完bcd命令后需要重启系统。故障情况:删除备份时报错提示hard disk xxxx has more than one child hard disk 2。
解决方式:打开虚拟介质管理器,定位到虚拟硬盘页面,找到对应的硬盘,双击展开可以查看有一个子项目是不存在,失效导致删除备份失败,删除即可。
[1] VirtualBox_Ubuntu22.04 Terminal 无法打开[EB/OL]. https://www.cnblogs.com/lifuqiang/articles/17167367.html.
[2] VirtualBox下SSH通过端口转发连接Linux方法[EB/OL]. https://blog.csdn.net/chengqiuming/article/details/83239413.
[3] [已解决] 为什么VBOX有些备份会删除失败?[EB/OL]. https://bbs.kafan.cn/thread-939721-1-1.html.
[4] FIX: VirtualBox Running Very Slow in Windows 10/11. (Solved)[EB/OL]. https://www.wintips.org/fix-virtualbox-running-very-slow-in-windows-10-11/.
[5] How to get VirtualBox 6.0 and WSL working at the same time [closed][EB/OL]. https://stackoverflow.com/questions/58031941/how‑to‑get‑virtualbox‑6‑0‑and‑wsl‑working‑at‑the‑same‑time.
[6] WSL2 breaks VirtualBox 6.1[EB/OL]. https://github.com/MicrosoftDocs/WSL/issues/798.
取回方法:
Linux云服务器可以通过制作镜像上传到oss下载。
Windows云服务器:由于不支持导出Windows和来自镜像市场的镜像。因此无法导出上传到oss再下载。处理方法步骤是也和Linux云服务器一样,但在导出镜像步骤中,因为无法导出。可以选择操作列上的「创建实例」功能)——即按量付费购买一台esc。然后选按量付费,充值100块钱。快速备份好数据,再退订释放购买esc,等待退款(过程就看使用时长,越短时间花费越少,不到半个小时大概两三毛钱)。
[1] 取回过期未释放的阿里云服务器数据[EB/OL]. https://www.lushihuan.com/archives/%E5%8F%96%E5%9B%9E%E8%BF%87%E6%9C%9F%E6%9C%AA%E9%87%8A%E6%94%BE%E7%9A%84%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%B0%E6%8D%AE.
[2] 取回阿里云过期未释放服务器数据 Windows 系统[EB/OL]. https://www.bilibili.com/read/cv13853339/.
文章推荐:Jetson nano 系统安装
本文绝大部分命令都是在sudo -i
切换到root权限后操作的。
设置过程参见:Inference in the wild
1 | sudo apt install ffmpeg |
官方提供的whl安装包并没有arm架构,因此需手动从源码构建安装。
也不要用命令安装最新版的detectron2:python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'
,因为新版detectron2要求python3.8版本。问题参见:Cannot import name 'cached_property'
配置流程参照:Installation
1 | # 方案1:直接pip安装 |
1 | # 如果VideoPose3D目录下没有checkpoint文件夹的话,先mkdir checkpoint |
1 | cd inference |
1 | cd data |
1 | python3.7 run.py -d custom -k myvideos -arc 3,3,3,3,3 -c checkpoint --evaluate pretrained_h36m_detectron_coco.bin --render --viz-subject test_video.mp4 --viz-action custom --viz-camera 0 --viz-video /home/nvidia/VideoPose3D/inference/input_directory/test_video.mp4 --viz-output output.mp4 --viz-size 6 |
数据集设置步骤参考:Dataset setup
1 | data/ |
1 | # 解压数据集: |
1 | mkdir checkpoint |
1 | python run.py -k cpn_ft_h36m_dbb -arc 3,3,3,3,3 -c checkpoint --evaluate pretrained_h36m_cpn.bin |
官方要求的依赖库(注意torch需要是cuda版本的,因为源码是使用cuda设备的方法)
别人测试成功的依赖库版本:参见成功运行HRFAE面部年龄编辑
1 | pip3.7 install TensorboardX Tensorboard_logger |
1 | cd HRFAE |
1 | # 科学网络条件好的,可以直接参考官方命令下载checkpoint |
1 | cd HRFAE |
现象:终端输出一句「Killed」后,进程就闪退退出了。
原因:这是由于pytroch程序占用过多内存,引起系统OOM(Out of memory)机制。
解决方式:无。在我的尝试方法中,尝试了增加虚拟内存的大小至13GB,仍然是无法解决,依然是触发OOM了(即使我对pytorch进程禁用系统OOM killer,并观察内存占用情况,物理4GB全部吃满,虚拟内存zram占用到3.6GB后就整个系统卡死了)。推测可能还因为显存不足。
内存管理的相关命令:
1 | # 查看虚拟内存使用分配机制,vm.swappiness = 0:最大限度使用物理内存,vm.swappiness = 100:积极的使用交换空间 |
查看系统是否主动杀掉进程的日志排查:
1 | # 查看系统内核日志中最后7行 |
1 | conda create -n hrfae python=3.7 |
pip install
即可:torch-1.13.1+cu117-cp37-cp37m-win_amd64.whl和torchvision-0.14.1+cu117-cp37-cp37m-win_amd64.whl。别使用conda install torch
安装torch,否则易出现一些版本依赖的问题。例如:解决python urllib3 v2.0 only supports OpenSSL 1.1.1+, currently
。这是因为openSSL版本太低,可以安装低版本解决:pip install urllib3==1.23 -i https://pypi.tuna.tsinghua.edu.cn/simple
。conda install
找不到库,就使用pip install
,例如Tensorboard-logger
。NVIDIA Jetson TX2 NX,16GB eMMC,额外挂载一个120G的固态盘。
/home
。1 | # 安装必要库 |
Jetson报错无法进到桌面环境: Failed to start nvpmode1 server. 和Failed to start load kernel modules
无桌面环境的条件下进入到终端操作的两种方式:
ssh nvidia@192.168.55.1
Failed to start nvpmode1 server一般是桌面环境出问题引起的,重装桌面环境即可。
1 | sudo apt-get install nvidia-l4t-x11 |
Failed to start load kernel modules一般配置方面出问题,重新运行更新配置。
1 | # 切换到root模式,并保留当前终端环境 |
为Jetson TX2 NX或者Jetson Nano这种老硬件安装Ubuntu 20.04(官方最新只支持Ubuntu 18.04)的两种方式:
NVMe SSD固态硬盘仅作为系统盘(rootfs和用户区),系统的启动引导依然是通过SD卡或者内置EMMC的存储,比如升级设备树dtb仍然是在SD卡或者EMMC中。
git clone https://github.com/jetsonhacks/rootOnNVMe.git
。如果克隆仓库失败,访问网页下载压缩包,再解压通过WinSCP上传到开发板家目录(上传后记得将文件的权限设置为0755,否则运行程序时会提示无权限)。1 | cd rootOnNVMe |
df -h
:可以看到挂载根目录的分区大小已经是SSD固态硬盘的120G的容量,不是以前EMMC的16G。备份并编辑软件源
1 | # 备份/etc/lib路径下的source.list文件, |
清华源:
1 | deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse |
假如默认官方源被删除的话,可以用下面的可用官方源恢复:
1 | deb http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted |
查看torchvision的README页面,可知torch和torchvision对应版本信息,以及所要求的python版本。
torch | torchvision | Python |
---|---|---|
1.10 | 0.11 | >=3.6, <=3.9 |
综合考虑,因为需要安装v1.10.2的pytorch,因此python选用v3.7(很多深度学习项目要求最低的python版本是v3.7),避免v3.8-v3.9可能会因此太新导致编译出错。
系统自带pyton3.6.9,运行pip3报错:pip3:command not found
解决方法:sudo apt install python3-pip
pyton3.7版本需要手动编译。下载python3.7.16源码压缩包
1 | # 通过ssh连接到开发板系统,通过winscp上传python源码压缩包到开发板的家目录 |
如果因为缺乏libssl-dev库,导致编译出来的python报错TLS/SSL的话,实际上这个问题可以通过换pip源解决,必须是http源。
创建并编辑pip配置文件:
1 | mkdir ~/.pip |
pip源设置内容:
1 | [global] |
报错内容:libssl-dev : Depends: libssl1.0.0 (= 1.0.2g-1ubuntu4) but 1.0.2g-1ubuntu4.15 is to be installed
报错原因:要装的库OpenSSL,它需要依赖的包是X,但需要的X是A版本,但是系统环境中已经存在另外的程序,它也需要的依赖X,并且需要的是X另外一个版本B,两个版本之间发生冲突了。所以无法安装。
解决方法:sudo apt install libssl1.0.0=1.0.2g-1ubuntu4
,即安装推荐的折中版本(报错提示有给出)。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
python -m pip install --upgrade pip
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
为了防止出现 “Illegal instruction (core dumped)” 报错,需要在 ~/.bashrc 最后添加如下语句,保存修改后,重启系统
1 | export OPENBLAS_CORETYPE=ARMV8 |
若是export导出环境变量之后,仍是出现相同的报错的话,则可能是安装包版本问题或者程序包问题。
安装jetson-stats前记得把pip源更换为清华源:sudo -H pip3.7 install -U jetson-stats
安装好jetson-stats之后,可以安装nvidia-jetpack包,使用jetson_release查看开发板信息(注意需提前装好jetson-stats)
1 | sudo apt install nvidia-jetpack |
报错情况,jtop(jetson_stats.service)不能运行,systemctl查看服务状态为activating:
1 | The jetson_stats.service is not active. Please run: |
解决方法:把pip源更换为清华源后,重新安装jetson-stats。
示例根文件系统并未包含cuda等库,因此烧录系统之后,需要手动安装CUDA、cuDNN、TensorRT库。
sudo apt install sdkmanager_1.9.3-10904_amd64.deb
sdk-manager
或者在应用程序列表中找到SDKManager图标打开。1 | # 刷新bash配置,普通账户nvidia的终端下执行该命令 |
jtop
和nvcc -V
/nvcc --version
。不配置这个也可以,但编译opencv with cuda时需要手动指定路径到/usr/include和/usr/lib/aarch64-linux-gnu
1 | # sdk-manager安装路径 |
1 | sudo cp -r /usr/src/cudnn_samples_v8/ ~/ |
pyton3.6直接访问nvidia官网PyTorch for Jetson帖子下载官方编译提供的版本:点击跳转下载whl,安装命令:pip3.6 install torch-1.10.0-cp36-cp36m-linux_aarch64.whl
注意:编译过程十分耗时,请耐心等待!我测试的机器型号为TX2 NX,编译耗时23个小时(大部分时间都是停留在编译caffe2仓库)。
由于英伟达官方只提供python3.6版本的pytorch安装包,并且torch库官方下载站也没有arm芯片(aarch)的cu102版whl安装包,cpu版倒是有提供,因此pyton3.7的cuda版pytorch需要自行从源码编译。
编译步骤参考nvidia官网PyTorch for Jetson帖子的Instructions小节的Build from Source内容。
1 | # 设置最大功率模式,CPU和GPU频率最大 |
1 | cd /home/nvidia |
1 | cd pytorch |
1 | export USE_NCCL=0 |
sudo apt install cmake libopenblas-dev libopenmpi-dev
,这里我使用的ubuntu官方源。cp -r pytorch pytorch.bak
):1 | cd pytorch |
1 | python3.7 |
查看torchvision的README页面,可知torch和torchvision对应版本信息,以及所要求的python版本。
torch | torchvision | Python |
---|---|---|
1.10 | 0.11 | >=3.6, <=3.9 |
编译步骤参阅:Development installation
下载及编译torchvision源码:
1 | # 我的网络环境没法直连github域名,手动指向cdn的ip(ping github.com得到ip),确保git的全局设置http的ssl证书验证关闭 |
测试安装是否成功:
1 | import torchvision |
使用python3.6环境,可以直接使用这个帖子给出的预编译的opencv包——官方隐藏资源:Jetson伪超频与CUDA版OpenCV。
预构建好的deb文件:OpenCV-4.5.0-aarch64.tar.gz
可以先卸载系统自带的CPU版的opencv4.1.1,再执行安装deb包。
如果想自行从源码构建opencv with cuda,编译步骤可参考Install OpenCV on Jetson Nano。
卸载默认不带cuda的opencv
1 | sudo apt purge libopencv* |
下载opencv和opencv_contrib源码
1 | # 访问网页离线下载 |
安装依赖库(参见Install OpenCV on Jetson Nano)
1 | # reveal the CUDA location |
配置cmake
配置cmake一定要加上这项参数-D CUDNN_VERSION="8.0"
,否则会报错:Could NOT find CUDNN: Found unsuitable version "..", but required is at least "6" (found /usr/lib/aarch64-linux-gnu/libcudnn.so.8.2.1),即使是手动指定了库文件的绝对路径,仍然是会报这个错误。cudnn版本参见「为开发板安装CUDA、cuDNN、TensorRT库」小节
下载的源码压缩包不包含所有modules组件的源码,并且raw.githubusercontent.com是无法直连的,直接ping也无法得到ip,通过网页https://www.ipaddress.com/,得到ip:185.199.110.133。如果不修改hosts进行域名解析映射IP,大概率会报错:
1 | ======================================================================= |
1 | sudo nano /etc/hosts |
倘若修改了hosts文件进行域名解析映射IP之后,仍然是报错提示无法连接网络下载文件的话,先移除opencv_contrib-4.1.1目录。
1 | cmake \ |
如果cmake提示找不到OpenBLAS头文件和库文件的话,可以尝试方法修复:
1 | # -- Could not find OpenBLAS include. Turning OpenBLAS_FOUND off |
编译及安装
1 | # 使用-j参数多线程编译时会报错(makefile文件引起的),可能是由于我修改了opencv/cmake/OpenCVFindOpenBLAS.cmake文件引起的 |
测试opencv安装情况
1 | # 假设编译安装好系统opencv with cuda后,python没有找到cv2,则安装opencv-python包启用。 |
不推荐配置,jetson tx2 nx型号能够安装成功的版本较老,并且创建虚拟环境后,默认的base环境一旦conda install任意包之后,再次运行conda的任何命令都会报错:illegal instruction (core dump)
,pip可以正常工作。如果是新建其他名称的虚拟环境,则是pip会报错:illegal instruction (core dump)
,而conda install可以正常工作。
anaconda下载:
miniconda下载:点击跳转
Archiconda下载:点击跳转
tx2 nx硬件只有这个版本能成功安装:Miniconda3-py37_4.9.2-Linux-aarch64.sh,而之后的新版本都会报错:illegal instruction (core dump)
。
1 | # 创建了名为xxx的虚拟环境,指定虚拟环境的 Python 版本为3.7 |
1 | nano ~/.condarc |
现象:使用yml文件创建conda环境时出现Solving environment: failed 和 ResolvePackageNotFound 的错误
原因:因为部分包的版本详细是根据机器配置而定,导出来的版本不一定适用当前的机器
解决方法:剔除环境配置文件environment.yml中的版本信息,只需删除第二个等号之后的内容即可
1 | pytorch=1.1.0=py3.7_cuda10.0.130_cudnn7.5.1_0 |
[1] Nvidia xavier NX 通过 flash.sh 烧录 linux 系统[EB/OL]. https://blog.csdn.net/Yan_uuu/article/details/126947983.
[2] Jetson Xavier NX 镜像制作、烧录及克隆[EB/OL]. https://blog.csdn.net/qhdd123/article/details/123815911.
[3] 解决 Jetson:Failed to start nvpmode1 server. 和 Failed to start load kernel modules[EB/OL]. https://blog.csdn.net/alianfibakic/article/details/123807606.
[4] Jetson TX2 更换软件源[EB/OL]. https://blog.csdn.net/qlulibin/article/details/80271096.
[5] Ubuntu18.04 默认源恢复默认源恢复备份源[EB/OL]. https://blog.csdn.net/ZeyiRTangent/article/details/114885286.
[6] PyPI 镜像使用帮助[EB/OL]. https://mirrors.tuna.tsinghua.edu.cn/help/pypi/.
[7] Ubuntu 编译安装 python3.7.10, 解决‘_ctypes‘和 ssl 问题, 建立软链接 python3.7 和 pip3.7[EB/OL]. https://blog.csdn.net/tmaccs/article/details/117029067.
[8] ubuntu18.04 下源码编译安装最新版本 Python3[EB/OL]. https://zhuanlan.zhihu.com/p/62930419.
[9] ubuntu pip is configured with locations that require TLS/SSL[EB/OL]. https://blog.csdn.net/a1007720052/article/details/107342695.
[10] libssl‑dev : Depends: libssl1.0.0 (= 1.0.2g‑1ubuntu4) but 1.0.2g‑1ubuntu4.15 is to be installed[EB/OL]. https://blog.csdn.net/weixin_38890593/article/details/102783551.
[11] TX2开启最大功耗模式[EB/OL]. https://www.cnblogs.com/gezhuangzhuang/p/11674062.html.
[12] 使用git --recursive进行循环克隆,由于网络原因,出现克隆失败的情况。[EB/OL]. https://blog.csdn.net/qq_43212651/article/details/116376103.
[13] 解决c++: internal compiler error: 已杀死 (program cc1plus)[EB/OL]. https://blog.csdn.net/chenmeng0508/article/details/122283442.
[14] Jetson nano增加Swap分区大小操作指南[EB/OL]. https://blog.csdn.net/qq_33475105/article/details/108372878.
[15] 玩转NVIDIA Jetson (25)--- jetson 安装pytorch和torchvision[EB/OL]. https://blog.csdn.net/huiyuanliyan/article/details/126686036.
[16] Ubuntu 安装PHP找不着BZip2[EB/OL]. https://blog.csdn.net/handsome_926/article/details/77933926.
[17] ModuleNotFoundError: No module named '_lzma'[EB/OL]. https://zhuanlan.zhihu.com/p/404162713.
[18] Error :: You must put some 'source' URIs in your sources.list[EB/OL]. https://askubuntu.com/questions/496549/error-you-must-put-some-source-uris-in-your-sources-list.
[19] 3d-pose-baseline[EB/OL]. https://github.com/una-dinosauria/3d-pose-baseline.
[20] How to stop jetson_clocks?[EB/OL]. https://forums.developer.nvidia.com/t/how-to-stop-jetson-clocks/144713.
[21] VideoPose3d:环境搭建+制作自己的视频[EB/OL]. https://blog.csdn.net/willbetter01/article/details/120906567.
[22] 【VideoPose3D】可视化自定义视频[EB/OL]. https://blog.csdn.net/qq_44942539/article/details/121983187.
[23] Windows下VideoPose3D成功运行记录2:运行自定义视频[EB/OL]. https://www.bilibili.com/read/cv19291005/.
[24] How to Use OpenCV with CUDA Support in Python[EB/OL]. https://saturncloud.io/blog/how-to-use-opencv-with-cuda-support-in-python/.
[25] Jetson Xavier NX OpenCV 安装[EB/OL]. https://zhuanlan.zhihu.com/p/411901208.
[26] Nvidia Jetson TX2 配置Cuda 加速的Opencv[EB/OL]. https://blog.csdn.net/weixin_62651190/article/details/129348245.
[27] Guide to build OpenCV from source with GPU support (CUDA and cuDNN)[EB/OL]. https://gist.github.com/minhhieutruong0705/8f0ec70c400420e0007c15c98510f133.
[28] How to install OpenCV 4.2.0 with CUDA 10.0 in Ubuntu distro 18.04[EB/OL]. https://gist.github.com/changx03/b4aa9bb2827217c3a6a7e08365441417.
[29] Jetson带CUDA编译的opencv4.5安装教程与踩坑指南,cmake配置很重要![EB/OL]. https://blog.csdn.net/weixin_39298885/article/details/110851373.
[30] ubuntu 编译安装支持CUDA的OpenCV[EB/OL]. https://blog.csdn.net/qq_44523137/article/details/124098406.
[31] Install OpenCV on Jetson Nano[EB/OL]. https://qengineering.eu/install-opencv-on-jetson-nano.html.
[32] 「解析」Jetson Orin NX 安装 CUDA/cuDNN[EB/OL]. https://blog.csdn.net/ViatorSun/article/details/129909317.
[33] OpenCV 4.2.0 and CuDNN for Jetson Nano?[EB/OL]. https://forums.developer.nvidia.com/t/opencv-4-2-0-and-cudnn-for-jetson-nano/112281?page=2.
[34] Correction in OpenCV's default CMAKE search Path for OpenBLAS Library on Ubuntu-64bit Machines [Solution] [EB/OL]. https://github.com/opencv/opencv/issues/12957.
[35] jetson tx2 安装miniconda失败原因(illegal instruction (core dump)原因解析与简易安装miniconda[EB/OL]. https://blog.csdn.net/buxiangyaomingzi/article/details/123297295.
[36] TypeError: load() missing 1 required positional argument: 'Loader' in Google Colab[EB/OL]. https://stackoverflow.com/questions/69564817/typeerror-load-missing-1-required-positional-argument-loader-in-google-col.
[37] 解决创建conda环境时Solving environment: failed 和 ResolvePackageNotFound 的错误[EB/OL]. https://blog.csdn.net/hshudoudou/article/details/126407029.
[38] 关于Ubuntu下ZRAM的配置和使用[EB/OL]. https://blog.xzr.moe/archives/88/.
[39] 解决python urllib3 v2.0 only supports OpenSSL 1.1.1+, currently[EB/OL]. https://blog.csdn.net/weixin_43205308/article/details/130830307.
[40] 从TensorFlow被kill到增加Swap分区[EB/OL]. https://www.zhihu.com/column/p/30562899.
[41] Linux运行程序时,程序进程莫名退出(被杀死)[EB/OL]. https://blog.csdn.net/ispringmw/article/details/112719262.
[42] linux 环境下进程被 killed掉原因分析和解决方法[EB/OL]. https://blog.csdn.net/ktigerhero3/article/details/80004315.
[43] Linux OOM Killer机制 以及防止被OOM Killer杀死的方法[EB/OL]. https://blog.csdn.net/top_explore/article/details/107733974.
Arch Linux install medium (x86_64, UEFI)
。ls /sys/firmware/efi/efivars
。若正确输出目录且无错误,则证明是UEFI模式。ip addr
查看IP),可用ssh连接完成后面的工作,方便复制粘贴命令(systemctl status sshd
查看ssh保护进程运行状态),passwd修改当前环境root账户的密码。/etc/pacman.d/mirrorlist
。1 | reflector -c China -a 6 --sort rate --save /etc/pacman.d/mirrorlist |
1 | nano /etc/pacman.d/mirrorlist |
timedatectl set-ntp true
。检测命令生效情况:timedatectl status
。lsblk
或者fdisk -l
查看硬盘情况(rom、loop、airoot的设备可忽略掉)。使用fdisk分区:fdisk /dev/sda
,按g
并回车将磁盘分区表设置为GPT格式,按n
并回车新增一个分区,分区号默参直接回车,起始扇区默参直接回车,结束位置输入+300M
并回车表示分区大小为300M。重复n
命令三次,完成剩余的三个分区的工作。按t
并回车更改分区类型,输入分区编号1并回车,输入分区类型1并回车(1代表EFI system partition)。重复t
命令,将2、3、4号分区分别改为类型19(SWAP),类型23(Linux root (x86-64)),类型42(Linux home)。最后按w
并回车保存分区表。df -h
查看分区情况。1 | mkfs.fat -F 32 /dev/sda1 |
1 | mount /dev/sda3 /mnt |
swapon /dev/sda2
pacstrap /mnt base linux linux-firmware nano
genfstab -U /mnt >> /mnt/etc/fstab
。检查fstab文件内容:cat /mnt/etc/fstab
。arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
。hwclock --systohc
。nano /etc/locale.gen
,ctrl+w
搜索,分别找到#en_US
,#zh_CN
带有UTF-8的两行,去掉前面的#号。ctrl+o
并回车保存文件,ctrl+x
并回车退出nano。生成配置:locale-gen
。LANG=en_US.UTF-8
并保存。1 | touch /etc/locale.conf |
echo "archlinux" >> /etc/hostname
,passwd
。1 | pacman -S dosfstools grub efibootmgr # 安装引导程序 |
pacman -S networkmanager network-manager-applet dhcpcd dialog os-prober mtools ntfs-3g base-devel linux-headers reflector git
。更新软件包缓存:sudo pacman -Syy
。更新系统:sudo pacman -Syu
。1 | systemctl start dhcpcd # 启动dhcpcd |
1 | systemctl start sshd |
1 | useradd -m kin # 添加用户名为kin的用户 |
1 | exit # 返回至arch-chroot之前的环境 |
分区方案(列表顺序就是实际的分区顺序)
/boot/efi
300Mswap
(内存大小×1.5)/
40G/home
剩余全部空间Swap分区的大小分配推荐方案
Amount of RAM in the system | Recommended swap space | Recommended swap space if allowing for hibernation |
---|---|---|
⩽ 2GB | 2 times the amount of RAM | 3 times the amount of RAM |
> 2GB – 8GB | Equal to the amount of RAM | 2 times the amount of RAM |
> 8GB – 64GB | At least 4 GB | 1.5 times the amount of RAM |
> 64GB | At least 4 GB | Hibernation not recommended |
sudo pacman -S xorg
。sudo pacman -S plasma kde-applications
。1 | sudo pacman -S sddm |
1 | # 手动进入桌面环境 |
[1] 在ProxmoxVE(PVE)7.0中安装ArchLinux[EB/OL]. https://www.raobee.com/archives/343/.
[2] Arch Linux + KDE 的安装和配置[EB/OL]. https://peoxin.github.io/blog/2022/05/01/Arch%20Linux%20+%20KDE%20%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E9%85%8D%E7%BD%AE/.
[3] Installation guide[EB/OL]. https://wiki.archlinux.org/title/Installation_guide.
[4] How to Install Deepin Desktop in Arch Linux [Complete Guide][EB/OL]. https://www.debugpoint.com/2021/01/deepin-arch-linux-install-20/.
[5] Easy Step - Arch Linux ( EFI ) With Clover ( EFI )[EB/OL]. https://www.insanelymac.com/forum/topic/294443-easy-step-arch-linux-efi-with-clover-efi/.
[6] 10 Commands to Check Disk Partitions and Disk Space on Linux[EB/OL]. https://www.binarytides.com/linux-command-check-disk-partitions/.
[7] Can't establish an internet connection in Arch Linux[EB/OL]. https://superuser.com/questions/751961/cant-establish-an-internet-connection-in-arch-linux.
[8] Deepin Desktop Environment (简体中文)[EB/OL]. https://wiki.archlinux.org/title/Deepin_Desktop_Environment_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87).
[9] Localization (简体中文)/Simplified Chinese (简体中文)[EB/OL]. https://wiki.archlinux.org/title/Localization_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)/Simplified_Chinese_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87).
[10] VirtualBox/Install Arch Linux as a guest[EB/OL]. https://wiki.archlinux.org/title/VirtualBox/Install_Arch_Linux_as_a_guest.
[11] How to enable a Virtualbox shared folder for Linux guest systems[EB/OL]. https://averagelinuxuser.com/virtualbox-shared-folder/.
[12] Recommended Partitioning Scheme[EB/OL]. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s2-diskpartrecommend-x86.
R.I.P