软件安装
在win10 下使用gcc
相关概念
Cygwin 简明教程
Cygwin 是一个 Windows 下的类 UNIX 环境。(这句话听起来好土 qaq)Cygwin 移植了大部分 Linux 下的软件,包括但不局限于 Bash、GCC、Git 和 VIM,甚至 GNOME 和 KDE 这类图形界面。至于移植的原理,大致都是将 Linux 下的系统调用在 Windows 下模拟,再进行交叉编译。
- 许多类似 Cygwin 的东西
其实主要是这几个:MinGW(-w64)、MSYS(2)、Git for Windows 和 WSL。
- MinGW
在很 JO 很 JO 以前,世界上还只有 Cygwin 的 1.3.3(现在已经是 3.0.7 了)。虽然当时 Cygwin 还刚刚开始发展,但是其缺点却已经暴露出来了:它实在太大了!所以,一小撮想搞事情的程序员站了出来,fork 了 Cygwin 的 GCC 和相关库文件,并且将它们魔改了一番,使得 GCC 能使用 Windows 的 Visual C++ API。这就成了 MinGW。后来,因为 MinGW 一直在咕咕咕,所以出现了 TDM-GCC 和 MinGW-w64 两个给 MinGW 续命的项目,TDM-GCC 现在也咕咕咕了(可见人类的本质是鸽子),而 MinGW-w64 却给 MinGW 续命成功,一直紧跟着官方 GCC 更新到了现在。
因为 MinGW 及其后续项目有着种种优点,所以它们经常被作为 Windows 下 C/C++ IDE 的自带编译器,如 Dev-C++ 和 Code::Blocks。而 MinGW 的缺点在于其使用了 Windows 的 API,而这也是 Windows 和 Linux 下会有 %I64d
等破事的原因。
- MSYS
当 MinGW 出现之后,程序员们发现光有 GCC 不行啊,面对着如此 naive 的 Windows 命令行也照样不能干活,Cygwin 又太大了。所以 MinGW 的一群人再次 fork 了 Cygwin,把它精简了一番,就成了 MSYS。后来,MinGW 咕咕咕了,MSYS 也随之咕咕咕了,又一群程序员 fork 了新版本的 Cygwin,精简了一番,给它加上了 Pacman 包管理器(没错就是 Arch Linux 用的那个),最后给 MSYS 的名字后面加了个 2,成了 MSYS2。
- Git for Windows
随着 Git 的快速完善,将 Git 移植到 Windows 的呼声越来越高,可是 Git 需要很多 Linux 下的命令行工具,所以不想重复造轮子的 Git 开发者们找到了 MSYS2,又将 MSYS2 做了一番精简和针对 Git 的修改,把 Git 放了进去。
- WSL
WSL 和上述没有任何关系,这是我们的巨硬微软感觉 Linux 的那一套很吼哇,就搞来 Linux 内核进行了一番魔改,在加上了一些针对 Windows 的处理,bling! 的一声,就有了跑在 Windows 下了 Linux。当然因为也有类似 Cygwin 的模拟,所以在磁盘性能方面较慢,比起 Cygwin 差多了。好处在于 它提供了较为原汁原味的 Linux 环境。
当然 WSL 也在进步,WSL 2 直接搞了个虚拟机跑原生的 Linux 内核,再加上一些可以较完美地整合 Linux 的修改,这样做性能就可以提高很多。可惜我并不想用 Windows Insider,WSL 2 也暂时没法用。
通过git的bash来操作linux命令,为了使用gcc,需要安装gcc,通过安装mingw来获得。
安装MinGW
1 | gcc -v |
git-bash中添加路径,就可以在git-bash中使用相关命令了
1 | $ export PATH="c:/.../mingw64/bin:$PATH" |
在linux上使用VS code 进行C++开发
vscode安装相关插件:
- c/c++ //支持语言环境
- c++ Intellisense
- visual studio Intellicode insiders
1 | //vscode 快捷键 |
vs code Docs: Using C++ on Linux in VS Code
双系统Ubuntu 20.04 安装
在win10基础上安装 Ubuntu 系统
准备:
- 制作启动U盘
插入U盘。运行Rufus。
- 划分硬盘空间
摘录:如果是双硬盘,需要先在C盘(按理来说就是电脑的第一块硬盘,部分电脑系统装得比较奇怪,装到了第二块硬盘)分出200M(补充:装完20.04只用了94M)的空白分区用来安装ubuntu的启动项,然后再在另一块硬盘选择最后一个盘(比如 CD两个盘的最后一个是D盘,CDE盘的最后一个是E盘,CDEF盘的最后一个是F盘,以此类推),在该盘点击右键,选择压缩卷,如下,输入压缩空间量,单位为M,如果空间充足,建议分出80G或100G,空间不足也可以分60G(1G=1024M):
具体详见:Windows10安装ubuntu16.04双系统教程 三、在windows下创建空白分区
- 安装系统
重启。开机时按f2进入bios(拯救者是f2,不是fn+f2)。设置Secure Boot 值为Disabled。
将Linpus lite (Gener ic-SD/MMC) 移动到首位。保存退出。
静等,直到出现Ubuntu的安装界面。
(在下面教程,分区设置时,先看Windows下安装Ubuntu 16.04双系统 的1楼评论 )
接下来步骤见:装了5次Ubuntu,告诉你win10+Ubuntu双系统的正确打开方式 中 3.2 安装系统
- 补充,遇到的问题与解决:
4.1 一些教程选择USB启动。但是系统提示找不到 USB boot option。解决:见1.3。Linpus lite。
(下面是以USB启动的教程:按住“shift”键,点击重启=>使用设备=>EFI USB Device。
![](https://cdn.jsdelivr.net/gh/c-parrot/source/img/blog/软件安装/1998119-20200818173718749-654987228 (1).png)
System doesn’t have any USB boot option. Please select other boot option in Boot Manager Menu.
)
4.2win相关
安装完成后,重启,将自动进入启动页面。Windows Boot Manager 是进入window 系统。
2.1. 如果想系统默认进入window,不再出现启动项界面。开机进入bios(拯救者是f2,不是fn+f2),调整boot的优先级,将Windows Boot Manager启动项移至首位。
注:安装双系统后,首次打开window 时间会很长。如果设置了win10作为首选启动项,将需要其他工具来引导Ubuntu:
2.2. 如果win的wifi出现了问题(找不到wifi,或者根本没有wifi按钮),解决方法:win+x=>设备管理器=>网络适配器=>选择Realtek 8822BE Wireless LAN=>卸载设备=>重启(很慢,请耐心等待)。系统会重新加载WLAN。
深度学习环境配置
Linux
2.1 安装NVDIA显卡驱动
在Ubuntu,打开软件和更新=>附加驱动。 在官网NVIDIA Driver Downloads 寻找你的显卡的驱动型号。选择相应驱动版本=>应用更改 。
查看是否安装成功:
2.2 安装cuda,cudnn
2.3 安装anaconda
提前在win10中使用迅雷下载。打开anaconda,点击Download,右键想要下载版本,复制链接地址。
在ubuntu,找到下载的sh文件,右键=>复制到…=>ubuntu的 “下载” 文件夹中。
在下载文件夹下,在空白处右键=>在终端打开。
sh A=>按Tab键。
如果选择不初始化,请阅读随后出现的文字:注:YOUR_SHELL_NAME 是:bash 。
出现(base)即是使用了conda的base环境.
使用conda创建名为py的新环境:
如果出现 invalidURL: Failed to parse:。。。将主目录的.condarc文件中设置的源删除或者直接删掉该文件
这是没使用源(使用默认源)的.condarc:
现在有了俩个环境: base和py。
anaconda 卸载: linux上anaconda的卸载
2.4 安装tensorflow 和pytorch
pytorch:
安装最新的pytorch版本https://pytorch.org/get-started/locally/
安装具体的pytorch版本https://pytorch.org/get-started/previous-versions/
cudatoolkit 应该是指cuda
(linux)conda 安装pytorch1.3.1(官方没有列出此版本命令),首先查看版本关系:Torch torchvision Python版本对应关系。创建conda环境:注意python版本根据官方,运行相应命令conda install pytorch==1.3.1 torchvision==0.4.2 cudatoolkit=10.1
去掉-c pytorch,会使用换了的国内源下载。
阿里源:
1 | pip install torch torchvision -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com |
2.5 待解决:
\1. win10引导ubuntu
\2. win10与ubuntu时间冲突: Windows 10和Ubuntu 20.04时间不同步问题解决
3 Ubuntu 20.04 尝试安装 Openpose 的问题
Very important: New Nvidia model GPUs (e.g., Nvidia V, GTX 2080, v100, any Nvidia with Volta or Turing architecture, etc.) require (at least) CUDA 10. CUDA 8 would fail!
My system configuration
Operating system: Ubuntu 20.04
CUDA version: 10.2
CUDNN version: 8.0.2
3.1.1 Configuration
a.cmake 找不到cudnn版本:
/openpose/cmake/Cuda.cmake 中
file(READ ${CUDNN_INCLUDE}/cudnn.h CUDNN_VERSION_FILE_CONTENTS) => file(READ ${CUDNN_INCLUDE}/cudnn_version.h CUDNN_VERSION_FILE_CONTENTS)
b.
CMake Error at /usr/share/cmake-3.10/Modules/ExternalProject.cmake:2474 (message):
No download info given for ‘openpose_lib’ and its source directory:
/home/a421/YuWentao/huawei_fatigue_driving_detection/openpose/3rdparty/caffe
is not an existing non-empty directory. Please specify one of:
* SOURCE_DIR with an existing non-empty directory
* DOWNLOAD_COMMAND
* URL
* GIT_REPOSITORY
* SVN_REPOSITORY
* HG_REPOSITORY
* CVS_REPOSITORY and CVS_MODULE
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/ExternalProject.cmake:3029 (_ep_add_download_command)
CMakeLists.txt:726 (ExternalProject_Add)
无法下载Caffe =》手动下载安装。
Openpose/3rdparty:
git clone https://github.com/CMU-Perceptual-Computing-Lab/caffe
3.2 Build
a. 找不到cudnn版本:
openpose/3rdparty/caffe/cmake/Cuda.cmake 同上
b. error: ‘CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT’ was not declared in this scope
https://github.com/weiliu89/caffe/issues/1025
https://www.jianshu.com/p/5069cfe2454d
Redis安装-linux
- 安装
在官方网站中下载压缩包,放在
/opt
目录下(随便放在哪个目录)。解压:
tar -zxvf /root/redis-6.2.5.tar.gz
解压后进入目录进行安装
1
2cd redis-6.2.5
make && make install查看安装目录
/usr/local/bin
redis-benchmark
:性能测试工具,可以在自己本子运行,看看自己本子性能如何redis-check-aof
:修复有问题的AOF文件,rdb和aof后面讲redis-check-dump
:修复有问题的dump.rdb文件redis-sentinel
:Redis集群使用redis-server
:Redis服务器启动命令redis-cli
:客户端,操作入口
- 后台启动
备份一份
redis.conf
1
cp /opt/redis-6.2.5/redis.conf /opt/myredis
将/opt/myredis/redis.conf
中的daemonize no
改为yes
启动redis
测试:使用客户端测试,在bash中输入
1
redis-cli
如果在Win中安装需要借助Docker。
TeamViewer
说起 TeamViewer的鼎鼎大名,可谓家喻户晓,乃是当今首屈一指的远程连接软件。TeamViewer最大的优点是对个人用户免费,无需支付费用即可使用完整功能,此外,穿透能力非常强,可以不夸张的说能在任何防火墙和NAT转换之后进行连接远程控制或者传输文件之类。
ping一下服务器,类似于2606:、240e: ,这样网段的是IPV6类型。
正在Ping dl.teamviewer.cn.cdn.cloudflare.net
cloudflare.Inc:Cloudflare, Inc. (NYSE: NET) is on a mission to help build a better Internet. Cloudflare is a global cloud services provider that delivers a broad range of services to businesses of all sizes and in all geographies—making them more secure, enhancing the performance of their business-critical applications, and eliminating the cost and complexity of managing individual network hardware.
Pycharm
ubuntu:商店直接有,专业版和社区版的都可以直接安装。。