事件描述:
Windows WSL2 网络采用mirrored模式,在防火墙中定义入站规则后发现仍无法访问wsl内的端口
解决办法
定义规则时,允许边缘遍历
默认情况下,当你关闭最后一个wsl终端后,wsl会直接退出。如果有服务要在后台运行,可以采取以下方法:
编写vbs脚本”init.vbs”
1 | set ws = CreateObject("WScript.Shell") |
其中 Debian请替换为你所要运行的实例名称
执行vbs脚本
wscript init.vbs
注意:不要修改vbs脚本的默认打开方式,例如用记事本打开,这样会导致任务计划程序为“用记事本打开vbs脚本”,而不是执行该脚本
一般是gcc版本不对,最新显卡驱动(2024-03-12)需要的gcc版本是gcc-12而Ubuntu 22.04默认是gcc-11,需要手动安装gcc-12
1 | sudo apt install gcc-12 |
具体表现为torch找不到某个device,解决方式:
首先上nvidia开发者官网找到和显卡驱动对应的modprobe包,安装
1 | sudo dpkg -i nvidia-modprobe_xxx.xx.xx-0ubuntu1_amd64.deb |
1 | export ALL_PROXY=http://127.0.0.1:7890 # Clash用这个 |
1 | unset ALL_PROXY |
1 | # proxy.sh |
1 | sudo apt -o Acquire::http::proxy="socks5h://127.0.0.1:10808/" upgrade # 临时版 |
1 | pip install --proxy=http://127.0.0.1:7890 somepackage # 使用http代理 |
若要使用socks5代理,则需要先安装PySocks模块,可以用whl下载解决 下载链接
1 | pip install PySocks-1.7.1-py3-none-any.whl |
1 | ifconfig eno1 | awk '/inet / {print $2}' # 直接获取网络接口eno1的ip地址,可以用来写脚本 |
参考如下仓库
直接使用docker进行部署
1 | docker run -d -p 5032:5032 --log-driver json-file --log-opt max-file=1 --log-opt max-size=100m --restart always --name webssh -e TZ=Asia/Shanghai -e savePass=true jrohy/webssh |
访问 http://hostip:5032 即可,其中hostip即为部署docker的服务器ip
在北航校外可以访问 https://d.buaa.edu.cn
然后在最上方的访问栏选择http并输入hostip:5032
即可访问校内SSH资源,并且可以借此传输大文件,传输带宽能达到20MB/s, 远强于跳板机
最近经常遇到磁盘错误,需要利用Windows的磁盘修复,具体操作为:右键需要恢复的磁盘分区->工具->检查
检查完成后发现分区根目录下出现found.000
、found.001
等文件夹,内部为一堆.chk文件。
参考知乎文章可知利用MIME可以获取到文件类型,以此猜测扩展名即可
脚本如下:
1 | # chk_restore.py |
用法:
1 | pip install python-magic # For Linux |
SSHFS(SSH Filesystem)是一个基于FUSE的文件系统客户端,用于通过SSH连接远程目录。SSHFS使用的是SFTP协议,它是SSH的一个子系统,在大多数SSH服务器上默认启用
与其他网络文件系统(如NFS和Samba)相比,SSHFS的优势在于它不需要在服务器端进行任何额外的配置。要使用SSHFS,您只需要具有SSH访问远程服务器的权限。
使用网络文件分享,主要优势是在网速够快的情况下可以多台服务器共用一份数据,省去不同服务器之间传输的麻烦,也节省硬盘空间
无需任何额外配置,只需要安装好OpenSSH服务器即可
Ubuntu:
1 | sudo apt install openssh-server # 系统管理员配置,普通用户无需配置 |
Windows 10/11:
Step1: 设置-应用-可选功能-添加可选功能-搜索“OpenSSH服务器”并安装
Step2: Win+R 打开运行窗口,输入services.msc 打开服务,找到”OpenSSH SSH Server”一项,打开并修改启动类型为“自动”
Ubuntu:
1 | sudo apt install sshfs # 系统管理员配置,普通用户无需配置 |
Windows
安装三个软件:
Ubuntu:
连接方法与scp的用法类似假设远程服务器为 usr@remoteip 端口为port, 要挂载的路径为/home/usr/share, 本地装载路径为/mnt/remote1(需要为空文件夹)
1 | sshfs -p port usr@remoteip:/home/usr/share /mnt/remote1 |
注:如果Windows作为服务器,文件分享给Linux,其ssh的路径输入方法为把反斜杠改成但正斜杠,如果有空格或中文,可以给路径加上引号,如:
1 | sshfs usr@remoteip:"C:/Users/user/远程 分享" /mnt/remote1 #scp同理 |
此外也可以直接利用OpenSSH-config文件,使用代号以及免密登录,参见博客
取消连接:
1 | fusermount -uz /mnt/remote1 |
Windows:
建议直接使用GUI界面 打开SSHFS-Win Manager 配置SSH连接即可,参见博客
可以直接服务器间共享数据集、代码等(互联带宽为10G的可以分享数据集,1G的建议只分享代码)
例如40901服务器和40902服务器之间,假设40901存放数据目录为/mnt/ssd0/dyf
,有./code
和./dataset
两个文件夹,40902的目标目录为/home/dyf
可以编写脚本在40902机器上执行:
1 | #!/bin/bash |
之后只要安装conda环境即可运行代码
本方法适用于机器可以连接内网,无法连接外网,但内网中有其他机器可以上外网的情况
在上不了网的内网机器上输入如下命令,以1080端口为例,若已经被占用,可自行修改
1 | ssh -ND localhost:1080 usr@serverip -p 22 |
参数解释:-N
为后台运行, -D
为建立socks5代理的关键命令 localhost:1080
是本机以及需要监听代理的端口,usr@serverip -p 22
即为能上网的机器及其ssh服务的端口,建议使用ip登录不要用域名,因为可能访问不了DNS服务器
1. python使用socks5
首先在pypi上下载pysocks包,然后用pip进行安装
2. 使用socks5代理上网
以pip安装为例,安装pysocks后可以用–proxy参数进行代理上网
1 | pip install numpy --proxy="socks5://127.0.0.1:1080" |
命令行整体代理:
1 | export ALL_PROXY=socks5://127.0.0.1:1080 |
有关更多其他应用使用socks5代理的方法,请自行搜索。部分命令不支持使用export命令走命令行全局代理,需要自行配置
温馨提示:wget使用socks5代理较为复杂,建议使用curl命令下载文件
PS. MC-2实验室2080服务器无法上网原因
本质原因是无线网卡被错误启动,需要禁用掉无线网卡,但无线网卡会自动重启,在服务器重启前没有找到可行方案,可以通过如下方式解决
1. 无法登录:解决方案是配置跳板机,使用207机房的其他机器如30901,30902,207,401跳转登录
2. 无法上网:先切换管理员账号禁用掉无线网卡sudo ifconfig wlp5s0 down
,然后按照上面的步骤配置socks5代理,若发现网卡重新唤醒,继续禁用
1 | useradd -d /home/yourname -m yourname #添加用户,指定家目录 |
若需要sudo权限
1 | usermod -a -G sudo yourname #添加用户组到sudo |
若硬盘空间不够,可参考以下移动用户文件夹
1 | mv /home/yourname /media/data/ #迁移用户文件夹 |
现建议直接把用户路径建立在硬盘下面,而非/home
下
1 | useradd -d /media/data/yourname -m yourname |
快速添加用户脚本
1 | #!/bin/bash |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true