首页 > 系统相关 >[Linux系统] 使用WSL2下的Ubuntu20.04

[Linux系统] 使用WSL2下的Ubuntu20.04

时间:2023-07-25 12:45:16浏览次数:46  
标签:Ubuntu20.04 enable -- sudo dev apt install Linux WSL2

一、安装WSL2下的Ubuntu20.04

 1)打开windows WSL服务

# 以管理员身份运行 PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 使用powershell将wsl2设置为默认版本
wsl --set-default-version 2

2)安装linux子系统

# 安装操作系统 wsl --install -d <可安装的版本名> 例如,我安装版本名为Ubuntu-18.04,命令为:wsl --install -d Ubuntu-20.04
wsl --install -d Ubuntu-20.04
# 查看可以安装的linux版本
wsl  -l -o

3)给Ubuntu换源

# 备份源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 命令行打开sources.list文件
sudo vim /etc/apt/sources.list
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse multiverse
sudo apt-get update

二、迁移子系统到其他磁盘

wsl --shutdown Ubuntu-20.04
wsl --export Ubuntu-20.04 D:\WSL2\WSL2Ubuntu20.04.bak
wsl --unregister Ubuntu-20.04
wsl --import Ubuntu-20.04 D:\WSL2Ubuntu20.04LTS D:\WSL2\WSL2Ubuntu20.04.bak --version 2

三、修改为静态IP地址

在 /etc/netplan 下创建 01-network-manager-all.yaml 文件,包含以下内容:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eth0:    #网卡名
      dhcp4: no    #关闭ipv4动态分配ip地址
      dhcp6: no    #关闭ipv6动态分配ip地址
      addresses: [172.19.222.100/24]    #前面是ip地址,子网掩码是255.255.240.0
      gateway4: 172.19.208.1    #网关
      nameservers:
        addresses: [114.114.114.114, 8.8.8.8] #DNS

四、在WSL下启用 systemctl 命令

参考:https://www.cnblogs.com/leokale-zz/p/17579564.html

五、安装 openssh 

sudo apt-get install openssh-server -y

修改 /etc/ssh/sshd_config 配置内容

port 22
AllowUsers root leo
PermitRootLogin yes
PasswordAuthentication yes

启动服务:

sudo service ssh restart
#或
sudo systemctl start ssh
# 开机启动
sudo systemctl enable ssh

六、安装anaconda

下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
版本:Anaconda3-2023.07-1-Linux-x86_64.sh  (Python3.11)

bash Anaconda3-2023.07-1-Linux-x86_64.sh

七、安装 cuda toolkit

CUDA toolkit版本12.1

通过deb方式安装,下载链接:https://developer.nvidia.com/cuda-12-1-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

配置cuda环境变量

export CUDA_HOME=/usr/local/cuda-12.1
export PATH=/usr/local/cuda-12.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH

八、安装cudnn

cudnn版本8.9.3.28

下载:cudnn-local-repo-ubuntu2004-8.9.3.28_1.0-1_amd64.deb

sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.3.28_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2004-8.9.3.28/cudnn-local-AAD7FE56-keyring.gpg /usr/share/keyrings/
apt-get update
sudo apt-get install libcudnn8=8.9.3.28-1+cuda12.1
sudo apt-get install libcudnn8-dev=8.9.3.28-1+cuda12.1
sudo apt-get install libcudnn8-samples=8.9.3.28-1+cuda12.1

验证是否成功:

sudo apt-get install libfreeimage3 libfreeimage-dev -y
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd  $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN
#Test Passed!

九、编译安装ffmpeg

1)安装pkg-config

sudo apt-get install pkg-config

2)安装nv-codec-headers

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers 
sudo make install 
# 验证是否安装成功
pkg-config --modversion ffnvcodec

3)源码安装libx264(可选apt安装)

git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --disable-asm --enable-shared --enable-pic
# 编译 & 安装
make -j32
sudo make install

4)安装依赖库

sudo apt-get install -y aptitude 
sudo aptitude install -y build-essential
sudo aptitude install -y yasm nasm
sudo apt-get install -y libssl-dev librtmp-dev libvorbis-dev
sudo apt-get install -y libgmp3-dev libaom-dev libtheora-dev
sudo apt-get install -y libass-dev libbluray-dev libfdk-aac-dev
sudo apt-get install -y libmp3lame-dev libopencore-amrnb-dev
sudo apt-get install -y libopenmpt-dev libopus-dev libxvidcore-dev liblzma-dev
sudo apt-get install -y libshine-dev libsnappy-dev libsoxr-dev
sudo apt-get install -y libspeex-dev libtheora-dev libtwolame-dev
sudo apt-get install -y libvo-amrwbenc-dev libvpx-dev libwavpack-dev
sudo apt-get install -y libwebp-dev libx264-dev libx265-dev 

5)下载ffmpeg源码

wget https://ffmpeg.org/releases/ffmpeg-4.4.tar.gz
tar zxvf ffmpeg-4.4.tar.gz

6)编译安装

./configure  --prefix="/usr/local/ffmpeg" \
--enable-static --enable-shared \
--enable-version3 --enable-gpl \
--enable-nonfree --enable-small --enable-libmp3lame \
--enable-libx264 --enable-libx265 \
--enable-libvpx --enable-libtheora --enable-libvorbis \
--enable-libopus --enable-libfdk-aac --enable-libass --enable-libwebp \
--enable-librtmp --enable-postproc --enable-libfreetype --enable-pthreads \
--enable-openssl --enable-shared --disable-debug --disable-doc --disable-ffplay \
--enable-cuvid --enable-cuda --enable-cuda-nvcc \
--extra-cflags="-I/usr/local/cuda-12.1/include" --extra-ldflags="-L/usr/local/cuda-12.1/lib64" \
--extra-cflags="-I/usr/local/include" --extra-ldflags="-L/usr/local/lib" --extra-libs="-lpthread -lm"
sudo make -j16
sudo make install

问题:

ERROR: failed checking for nvcc.
#将configure文件中的sm_30为sm_90(cuda12对应90)

 

 

 

 

 

 

= = 

 

标签:Ubuntu20.04,enable,--,sudo,dev,apt,install,Linux,WSL2
From: https://www.cnblogs.com/leokale-zz/p/17579603.html

相关文章

  • [踩坑] WSL2 Ubuntu20.04启用systemctl
    一、安装fontconfigdaemonizesudoaptinstall-yfontconfigdaemonize二、修改/etc/profile#在末尾添加以下内容SYSTEMD_PID=$(ps-ef|grep'/lib/systemd/systemd--system-unit=basic.target$'|grep-vunshare|awk'{print$2}')if[-z"$SYST......
  • linux快捷方式-中标麒麟
    在中标麒麟上部署软件,需要快捷方式。在桌面创建快捷方式后,有时候会发现界面图标显示不全。先把原先的快捷方式贴出来,再往下讨论:可执行程序目录脚本A_start.sh#!/bin/bashCUR_DIR=/home/3D/bin/DebugexportLD_LIBRARY_PATH=$CUR_DIR:LD_LIBRARY_PATH$CUR_DIR/MGIAP 桌......
  • Linux基础30 HTTP协议, 请求信息, 请求方法, 状态码, 请求头信息
    HTTP协议HTTP协议概述1.什么是HTTPHTTP全称:HyperTextTransferProtocol中文名:超文本传输协议HTTP协议简单的说,将用户请求的页面从服务器传输到客户端浏览器,浏览器进行解析,解析以后变成一个我们人类可以理解的方便观看的页面2.什么是超文本包含有超链接(Link)和......
  • Centos8/linux下载、安装、配置、连接MySQL5.7(rpm方式)
    目录问题现象:问题分析:解决方法:下载:安装:配置:连接:拓展 问题现象:    今天在使用Centos8安装MySQL5.7的rpm包时,出现如下报错:        仓库"MySQL5.7CommunityServer"的GPG公钥已安装,但是不适用于此软件包。        最终问题解决了,但......
  • Linux下的I2C驱动
    1.Linux中I2C需要编写的驱动......
  • linux 路由网关问题
       关于linux的默认网关默认网关是一个用于TCP/IP协议的配置项,是一个可直接到达的IP路由器的IP地址。配置默认网关可以在IP路由表中创建一个默认路径。一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个......
  • Linux必备技能-vim编辑器深入讲解(9)
    vim编辑器我们说过vim是文本编辑器,什么是文本编辑器呢?简单来讲我们从名字上就能知道它能实现编辑文本的,但这里我们要强调一个概念文本,这里的文本指的是纯文本信息。所谓纯文本站在ASCII的角度来讲,它指的是必须是纯粹的不加任何修饰的文本信息。比如我们此前都接触过的字处理工......
  • Linux驱动:I2C驱动
    一、前言I2C协议是在开发中使用非常频繁的一种协议,相信大家在学习单片机的时候经常会用到支持I2C协议的模块,I2C总线仅仅使用SCL、SDA这两根信号线就实现了设备之间的数据交互,极大地简化了对硬件资源和PCB板布线空间的占用。因此,I2C总线被非常广泛地应用在EEPROM、实时钟、......
  • linux I2C驱动
    1.linuxIIC驱动由于裸机的驱动迎合驱动的分离和分层的思想,分为IIC主机驱动(接口驱动)和IIC设备驱动.这种思想的好处,请看我写的另外一篇文章Linux驱动的分离和分层。其中上面说的裸机驱动请看这篇文章裸机驱动但是裸机的驱动是没有加入操作系统的本文也是遵循Linux驱动的分离和......
  • 4 STM32MP1 Linux系统启动过程
    1.ROM代码  这是ST官方写的代码,在STM32MP1出厂时就已经烧录进去,不能被修改。ROM代码是上电以后首先执行的程序,它的主要工作就是读取STM32MP1的BOOT引脚电平,然后根据电平来判断当前启动设备,最后从选定的启动设备里面读取FSBL代码,将FSBL代码放在对应的RAM空间。  STM32MP1启......