纪录
22.12.06
做BS作业,用新服务器上的mysql,发现连不上。
因为迁移了服务器,新服务器上的mysql除了把数据迁移过来之外没做别的配置。在弄BS的时候显示连接超时。
在解决了防火墙问题之后,我使用另一台主机远程连接所需要的mysql的用户的时候,显示报错:
但是服务器自己连自己的时候是正常工作的。后来发现是bind-address的问题:mysql默认配置是只允许回环地址(本地)访问,需要去/etc/mysql的配置文件里把bind-address改成0.0.0.0(所有ip地址)。
后来还是连接不上,是因为新的问题:
据说是因为mysql 8.0版本引入了新特性 caching_sha2_password;这种密码加密方式客户端不支持;客户端支持的是mysql_native_password 这种加密方式。需要将相应字段改一下:
ALTER USER '***'@'***' IDENTIFIED WITH mysql_native_password BY '***'; |
22.12.23
之前服务器到期了,换一个新的。网站迁移所以要重新做一遍部署。记录一下过程。
先下nginx
安装
sudo apt-get install nginx |
验证并更新防火墙配置:
sudo systemctl status nginx |
结果:
再配hexo远程同步
搜了一下,发现当时是按照这个步骤做的:https://www.jianshu.com/p/fa5ce5f955d9
配置过程中nginx -t时候出现了user permission deny。问题出现在我用的当前(非sudo)用户启动的nginx restart,导致进程属于当前用户,读写文件权限不够。命令前面加一个sudo就好了。
23.03.03
有关于wsl被我弄坏最后又弄好的问题。
wsl对于常用windows但又想跑linux环境下的程序的选手是个很好的选择。这个学期我就用的WSL+Arch搭载docker做的os实验(因为windows的docker使用感受不太好,所以在wsl上装的docker)。
但是计算机网络GNS实验又需要装一个VMware虚拟机。去年12月初,老师给的是一个特别古老的VMware软件包,装完它之后不仅GNS实验不能用,我的wsl也打不开了。
我为了先弄计网实验又下了一个VMware16当时的最新版,以为能好用,结果GNS和wsl仍都不能用。遂删VMware。不过这个东西貌似把我系统偷偷改了很多东西,我还删不干净。之后每次打开/重新安装wsl都会报错,显示错误码0x80041002,有时候还会显示“灾难性问题”。
没办法,遂上网搜寻信息。很多方法都不靠谱,最后网上找到了这条帖子https://zhuanlan.zhihu.com/p/491086029。
分析原因是“使用过一些虚拟机软件如VMvare,这些软件在安装时会添加某些虚拟适配器,这些虚拟适配器会阻止Hyper-V为其创建新网络”。感觉是一个相对靠谱的解释。但我跟着上面的步骤做了一遍又一遍还是不行。
其实这时候大概能定位到“Hyper-v”,“网络”这两个问题上,再试也试不出来了。今天忘了为什么,我打开设备管理器,发现了一个“Hyper-V 虚拟网络适配器”,遂删了,还有一个“Hyper-V虚拟交换机扩展适配器”,这两个设备显示都有一个三角叹号,我看了日志,他们出现的时间和我当时把wsl整没了的时间是一样的。那就能说明问题了,这两个东西就是VMware搞出来的东西。而且每次wsl --install -d XXX
,这个虚拟交换机设备都会自动出现,显示Windows正在配置。
上网查这种情况,关键词“Windows 仍在设置此设备的类配置”,发现这篇帖子,https://blog.csdn.net/weixin_43804251/article/details/125947454 。删了注册表HKEY_CLASSES_ROOT\CLSID{3d09c1ca-2bcc-40b7-b9bb-3f3ec143a87b}
,再弄wsl就好了,并且这时候虚拟交换机设备也不会自动出现了。就知道会是注册表,大概是VMware和Hyper-V的冲突,VMware把Hyper-v的相关网络功能在系统层面禁了。
23.03.04
因为wsl被我弄好了,调教她安一下openCV
按照这个步骤安了一边依赖项:https://blog.csdn.net/cassidybo/article/details/125984893
然后到官网下源代码,因为要在自己的环境上面编译,我这个是4.7.0版本。
下载之后,cmake
cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=O -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. |
中间有个小插曲:IPPCV需要cmake下载,但是因为是在github上面下,总是失败。这里面我们直接把包先下下来,再找到ippcv(在第三方依赖里面),找到对应的cmakerule,然后把这个目标文件地址的https在线下载改成file:///的本地下载路径。
之后make(-j8)然后make install。
build里面有个设置环境变量的脚本,跑了一下。
之后测试程序(这里面是wsl所以路径要改为wsl的路径)
cmake文件
# cmake needs this line |
cpp文件
|
成功装完。
23.06.11
在wsl上面装个cuda。
23.06.21
为了图形学大作业,重新装了个Ubuntu双系统。但是两个系统切换会出现问题,就是windows的时间会错乱。
原因在于Ubuntu认为BIOS时间是utc时间,但是Windows认为BIOS时间是本地时间。所以在Ubuntu上面把BIOS时间改成本地时间就好了。
timedatectl set-local-rtc 1 --adjust-system-clock |
记录一下。
23.07.02
图形学大作业装了个ubuntu,今天彻底把这个系统删了:因为发现读不了我硬盘,一直显示硬盘只读,搜索之后说是硬件错误,然后我按步骤改了/etc/fstab的文件项目,最后tm导致开不开机了。
希望自己以此为鉴。硬盘只读是最近才发生的,之前是可以读写的,因为毕竟测试过,装系统的时候磁盘分区应该也没问题。我怀疑是因为我插了U盘。具体原因我还不清楚。