跳到主要内容

填坑记录

前车已覆,后车当鉴。


(1)通过 Git 客户端 TortoiseGit 去推送本地 git 提交记录到远端 GitHub 仓库的设置步骤:

  1. 首先找到 TortoiseGit 所联动的 git.exe 所在的安装目录。

  2. 在这个安装目录下找到 ssh.exe 和 ssh-keygen.exe,并通过 ssh-keygen.exe 生成一对公私钥。

  3. 在 Github 网页处的设置中添加 SSH Keys(此处需要用到步骤 2 生成的公钥内容),并复制要被操作仓库的 ssh 地址(注意不是 https 的地址)。

  4. 在 TortoiseGit 设置中确定 “常规-git 路径” 和 “网络-ssh 路径”都是步骤 2 所查询到的路径。

  5. 在 TortoiseGit 设置中的 “Git-远端” 选项处,添加远端仓库(URL 填写仓库 ssh 地址、推送 URL 保持与 URL 相同、Putty 密钥添加步骤 2 生成的私钥路径)

  6. 操作完成,设置可参考下图。

(2)VM Linux 虚拟机重启之后网卡丢失的解决办法:

  1. 停止 NetworkManager 服务:service NetworkManager stop

  2. 删除 NetworkManager 状态文件:rm  /var/lib/NetworkManager/NetworkManager.state

  3. 编辑 NetworkManager 配置文件,将 managed 的值由 false 改为 true:nano /etc/NetworkManager/NetworkManager.conf

  4. 启动 NetworkManager 服务:service NetworkManager start

(3)Python 便携版如何使用 PyPi 功能

  1. 官网 下载 Python 便携包并解压。

  2. 下载 get-pip.py 到 python 解压根目录下。

  3. 打开 cmd,设置工作目录为 python 根,然后执行 python.exe get-pip.py

  4. 等待 pip 安装完毕之后,相应的 pip 二进制也被放到 Script 目录下,此时通过 cd Script && pip install mod-name,下载安装的模块包即被放置到 Lib\site-packages 目录下。

  5. python -m pip install mod-name,亦可实现与上述步骤相同的效果。

(4)不支持 X11 转发功能的 SSH 客户端如何使用该功能

注意:该方法是使用 Xserver 服务的通用操作办法,即便 SSH 服务端或客户端不开启或不支持 X11 转发功能,此方法依旧可以使用。【因为 Xserver 走的数据通道是另外建立起来的 TCP/6000 的连接,而不是使用 SSH 的 TCP/22 转发通道。故需要注意客户端处的防火墙。】

  1. 安装 X Server 服务。【VcXsrvXming 均可,推荐使用 VcXsrv】
  2. 执行 XLaunch 启动程序,一路下一步,但最后一步记得勾选 disable access control,否则在连接阶段可能会有问题。【启动之后需注意其监听地址,一般是 : 0.0】
  3. 在 Linux 终端设置环境变量 export DISPLAY=192.168.56.1:0.0
  4. 执行图形化的命令进行测试。

(5)VSCode 内集成 git 功能在初次使用时需先进行初始化

git config --global user.email kqdsheng@example.com
git config --global user.name "kqdssheng"

(6)通过 Git 客户端 GitExtensions 去推送本地 git 提交记录到远端 GitHub 仓库的设置步骤:

  1. 在 GitExtensions 客户端“工具”-“设置”-“Plugins”-“GitHub”处,点击“生成 Github 令牌”,然后会跳转到网页创建即可。
  2. 将网页端生成的访问令牌代码粘贴在上面“生成 Github 令牌”处的空格即可。
  3. 再次 push 项目时,若弹出 helper 框则选择 manager 模式,然后可能会再次要求你输入令牌值,再次粘贴点击确定即可正常提交。
  4. 注:尽量不要使用 ssh 公钥认证,有坑,可能是官方历史原因,也可能是 GitExtensions 对 putty 生成的 ssh 公私钥格式兼容性不太好。

(7)Docker 代理设置的注意事项:

Docker 代理的设置完全不同于常规命令使用代理的设置方式,它主要分为:镜像拉取代理(拉取镜像时的代理)、容器代理(容器内部网络的代理)、镜像构建代理(构建镜像时需要使用的代理)。

注:常规命令使用代理主要分为两种:proxychains、环境变量 export HTTP_PROXY=*;export HTTPS_PROXY=*

常规代理之所以对于 镜像拉取 无效,是因为拉取镜像的动作是由 dockerd 服务(docker.service)进行的,而该服务的环境变量只受 systemd 所管理,因此全局环境变量对其无效。

参考链接

(1)镜像拉取代理:

cat /etc/systemd/system/docker.service.d/proxy.conf

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"

或配置镜像加速【注:镜像加速的缺点在于,不在白名单的镜像在拉取时不会被加速。】

cat /etc/docker/daemon.json

{
"registry-mirrors":["https://docker.m.daocloud.io"]
}

(2)容器代理:

cat ~/.docker/config.json

{
"proxies":
{
"default":
{
"httpProxy": "http://proxy.example.com:8080",
"httpsProxy": "http://proxy.example.com:8080",
"noProxy": "localhost,127.0.0.1,.example.com"
}
}
}

(3)镜像构建代理:

docker build . \
--build-arg "HTTP_PROXY=http://proxy.example.com:8080/" \
--build-arg "HTTPS_PROXY=http://proxy.example.com:8080/" \
--build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" \
-t your/image:tag

(8)关闭 VirtualBox 虚拟机与宿主机的时间同步功能

  1. 进入 VirtualBox 的安装目录。
  2. 执行 .\VBoxManage.exe list vms,获取当前已创建的虚拟机列表。
  3. 执行 .\VBoxManage.exe setextradata "Win10" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1 关闭不想进行时间同步的宿主机。此处的宿主机是 “Win0”。
  4. 关闭虚拟机,再重新打开即可。

注:如果想恢复虚拟机的时间同步功能,将步骤 3 命令中的 1 改成 0 即可。

(9)执行 pip install -r request.txt 时,出现 "build wheel" 不成功的报错

出现上述问题的原因,是由于当前的 python 版本不再支持该依赖包的指定版本。因此只需将 python 包的版本号去掉或添加一个受支持的版本即可。亦或者尝试更换 python 的版本。

(10)WSL2 安装过程

  1. 安装前提:操作系统必须是 Windows 10-1903 及以上的版本才支持 WSL2 的安装。
  2. 在“程序和功能”处启用“适用于 Linux 的 Windows 子系统”功能。【命令:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  3. 在“程序和功能”处启用“虚拟机平台”功能。【命令:dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  4. 下载 WSL2 离线安装包,并安装。
  5. 设置 wsl 2 为默认版本,并安装一个自己喜欢的 Linux 发行版。操作命令如下:
wsl.exe --set-default-version 2		#设置默认的 wsl 版本
wsl.exe --list --online #列出在线提供的 Linux 发行版【注:需科学上网】
wsl.exe --install Ubuntu-22.04 #安装指定的 Linux 发行版【注:需科学上网】
wsl.exe --status #查看当前默认 wsl 版本和默认的 Linux 发行版
wsl.exe --list #列出当前已安装的 Linux 发行版

wsl.exe --uninstall Ubuntu-22.04 #卸载指定的 Linux 发行版

注意:如果在安装一些依赖微软虚拟机 Hyper-V 的软件,可能会导致 WSL2 出现故障。此时可将“虚拟机平台”功能关闭重启再打开重启,这样便可以恢复正常了。

(11)在 kali 中安装那些并未对该发行版特殊照顾的软件

  1. 由于 kali 是基于 debain 的,因此只要软件支持 debain 那么按照在 debain 中安装的方式添加 APT 软件源即可。

  2. 然后需要修改软件源 deb http://test.org/package/arm64/debian $releasename openresty 中的 releasenamehttps://test.org/package/debian/dists/ 目录下的一个发行版本即可。

  3. 版本对应关系如下:jessie 是 Debian 8、stretch 是 Debian 9、buster 是 Debian 10、bullseye 是 Debian 11、bookworm 是 Debian 12。

  4. 另一个比较方便的方法是:将 /etc/os-release 的内容备份然后替换为 debain 系统的 /etc/os-release 内容,也可达到一样的效果。在软件成功安装之后,再替换为原来的内容即可。

注意:由于 kali 和 debain 的内核版本几乎保持同步,因此,最新版的 kali 通常也就对应着最新版的 debain。具体信息可参考此表:维基百科

(12)待定