文章目录
- 1.创建一个新的普通用户
- 2.给用户授权
- 3.删除用户
- 4.新增用户添加至ubuntu的sudors文件中
- 5.提高ubuntu下访问github的速度
- 6.配置ubuntu国内镜像下载源的方法
- 7.ubuntu包的安装方法
- 8.Ubuntu中将默认的dash改为bash
- 9.pip很慢
- 10. wsl2安装openssh-server
- 11.wsl2安装docker
- 12.wsl2将默认的NAT方式配置成网桥模式
- 13.谷歌浏览器商店打不开怎么办?
- 14.wsl增加组播路由
- 15.Python默认查找包的环境
- 16.vscode使用wsl插件出现的问题
- 17.WSL2很卡
- 18.vscode常用插件小结
- 19.vim 整合插件
- 20.curl直接下载github release文件
- 21 git submodule问题
- 22 ubuntu支持交叉编译
- 23.Ubuntu 查看cpu个数及核心数
- 23.如何在ubuntu22.04版本上安装libssl1.1?
- 24.boost手册及安装
- 25.WSL2端口映射
- 26.Ubuntu 22.04 Minikube安装配置
- 27.ubuntu 22.04 安装kubectl
- 28.ubuntu22.04安装kOps
- 29.在线生成asicc字符画网站
- 30.连接dl.google.com超时的问题
- 31.clang-tid静态检查工具
- 32.起变量名网站CODELF
- 33.wsl2中pip很慢
- 34.Windows10或者Windows11主机无法PING通的解决方法
- 35. Key is stored in legacy trusted.gpg
- 36.wget --no-check-certificate 问题解决
- 40.Windows设置暗黑主题方案
- 41.pdf翻译
- 42.ubuntu20.04 install/uninstall gcc11
- 43.clang-format配置
- 44.ubuntu 配置命令提示符
- 45.wsl2中安装kali
- 46.WSL2 install plantuml.jar
- 47. The repository 'http://mirrors.kernel.org/ubuntu hirsute Release' does not have a Release file
- 48.
1.创建一个新的普通用户
- 创建了可以登录的meow用户并使用/bin/bash作为shell。
- 设置密码。
- 为meow用户增加管理员权限。
- 切换登录用户为meow。
$ sudo useradd -m meow -s /bin/bash
$ sudo passwd meow
$ sudo adduser meow sudo
$ su meow
2.给用户授权
- 查看meow所在的组。
- 设置meow权限为superuser。
- 查看sudoer的文本文件(suders含义),可以添加meow ALL=(ALL:ALL) ALL为meow设置superuser权限。
$ groups meow
$ usermod -aG sudo meow
$ visudo
visudo默认使用vim而不是nano的方法
在顶部附近的/etc/sudoers文件中添加一行:
Defaults editor=/usr/bin/vim
或者
wangji@DESKTOP-QNG23J0:~$ ll /etc/alternatives/editor
lrwxrwxrwx 1 root root 9 Aug 30 05:40 /etc/alternatives/editor -> /bin/nano*
wangji@DESKTOP-QNG23J0:~$ sudo ln -sf /usr/bin/vim /etc/alternatives/editor
wangji@DESKTOP-QNG23J0:~$ sudo visudo
3.删除用户
- 会删除用户目录
$ deluser --remove-home meow
4.新增用户添加至ubuntu的sudors文件中
修改这2个位置,增加NOPASSWD:,注意NOPASSWD:的冒号,且前后有空格
一般上述方式即可,更通用
如果想要单独控制某个用户,可以参照如下的方式:
ALL ALL=(ALL:ALL) NOPASSWD: ALL
用户 组=(用户:组) NOPASSWD: 允许执行无需密码的程序
sudo cp /etc/sudoers /etc/sudoers.old
sudo chmod +w /etc/sudoers
sudo vim /etc/sudoers
# 加上如下行
%your_user_name% ALL=(ALL) NOPASSWD: ALL
1 youuser ALL=(ALL) ALL
2 %youuser ALL=(ALL) ALL
3 youuser ALL=(ALL) NOPASSWD: ALL
4 %youuser ALL=(ALL) NOPASSWD: ALL
解释如下:
第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.
参考:
5.提高ubuntu下访问github的速度
ubuntu下使用github很慢的解决办法1:
-
注意:因为上述修改了wsl的host,若想在wsl中持久化生效,需要修改windows的host文件以永久保存到WSL中
ubuntu下使用github很慢的解决办法2:
ubuntu下使用github很慢的解决办法3:
5.1 vscode在线打开github
5.1 wsl永久关闭swap功能
打开Windows资源管理器,地址栏输入 %UserProfile% 回车,在该目录下创建一个文件, 名字为 .wslconfig
写入内容示例如下
[wsl2]
swap=0
powershell:
wsl --shutdown
参考
6.配置ubuntu国内镜像下载源的方法
ubuntu 的apt源配置方法见:Ubuntu配置apt的国内源地址,网站见:阿里云ubuntu镜像源网站
注意:不同的ubuntu系统需要修改镜像源的配置文件,上述的配置文件中一般为focal
wangji@DESKTOP-QNG23J0:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal
所以需要参考将源的codename进行修改:Ubuntu更换apt源与Codename的关系
6.1 如果ping mirrors.tuna.tsinghua.edu.com无法ping通
- 临时修改方法如下
1.打开/etc/resolv.conf;
$sudo vim /etc/resolv.conf
2.修改nameserver后的ip地址;
加入:
nameserver 8.8.8.8
nameserver 8.8.4.4
永久修改请参考以下的方法
wsl中永久修改/etc/resolv.conf
- 按照先修改/etc/wsl.conf。然后再修改 /etc/resolv.conf文件的流程操作即可
- ref:Make /etc/resolv.conf changes permanent in WSL 2,WSL2 Ubuntu20.04 /etc/resolv.conf重启丢失
sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf
7.ubuntu包的安装方法
一般所有的包基本都可以通过命令进行安装,有的是使用包,有的是开发者包,比如ostree,所以执行虾命令就可以完成包的安装
wangji@DESKTOP-QNG23J0:/usr/local/lib/x86_64-linux-gnu/pkgconfig$ sudo apt-cache search ostree
libendless-doc - documentation files for the Endless SDK
libostree-1-1 - content-addressed filesystem for operating system binaries (library)
libostree-dev - Development files for the libostree library
libostree-doc - Development documentation for the libostree library
ostree - content-addressed filesystem for operating system binaries
ostree-boot - libostree boot loader and initramfs integration
ostree-tests - content-addressed filesystem for operating system binaries - tests
安装方法
wangji@DESKTOP-QNG23J0:/usr/local/lib/x86_64-linux-gnu/pkgconfig$ sudo apt-get install libostree-dev
默认下载包的位置:
- ref:ubuntu软件默认安装位置
下载的软件存放位置
/var/cache/apt/archives
查看dpkg的control信息
dpkg --info python3.8-examples_3.8.10-0ubuntu1~20.04.6_all.deb
问题:Package python3 is not configured yet或者 Package ** is not configured yet或者Errors were encountered while processing
-
“dpkg: error processing package openssh-server (–configure)” on apt install
-
ref:大量dpkg依赖错误
1、sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/
2、sudo mkdir /var/lib/dpkg/info/
3、sudo apt-get update
4、sudo apt-get -f install
问题:安装python3
sudo apt install python3.7
sudo apt install python-is-python3
问题4:卸载python2.7
1.卸载python2.7
sudo apt-get remove python2.7
2.卸载python2.7及其依赖
sudo apt-get remove --auto-remove python2.7
3.清除python2.7的一些配置文件
sudo apt-get purge python2.7
sudo apt-get purge --auto-remove python2.7
dpkg -L +软件包的名字,可以知道这个软件包包含了哪些文件, 这个方法可以列出所有安装后留在系统里的文件
dpkg -L packagename
dpkg -l | grep 程序大概包含的程序名关键字
sudo dpkg --purge libpython2.7-minimal:amd64 删除对应配置文件
即可查出安装后的文程序名,然后根据这个文件名即可完成对文件的卸载
sudo apt autoremove --purge 文件名
ubuntu安装deb包到指定目录
8.Ubuntu中将默认的dash改为bash
sudo dpkg-reconfigure dash Enter
9.pip很慢
- ref:
pip安装使用清华源
解决Ubuntu pip install下载慢的问题,其中pip配置文件需要对应进行修改
配置pip源
(1)pip config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple
/home/wangji/.config/pip/pip.conf
wangji:是你自己的用户哦
(2)使用vi pip.conf命令打开pip.conf文件,写入如下内容:
[global]
index-url = http://mirrors.myhuaweicloud.com/pypi/web/simple
format = columns
[install]
trusted-host=mirrors.myhuaweicloud.com
pip用于查看 某个 库的名字、版本、位置等具体信息
pip show xxx
#如 pip show requests#
sudo pip show xxx是不一样的
其他命令类似
eg:
wangji@script-wang:~/framework/framework_master$ pip show gitpython
Name: GitPython
Version: 3.1.31
Summary: GitPython is a Python library used to interact with Git repositories
Home-page: https://github.com/gitpython-developers/GitPython
Author: Sebastian Thiel, Michael Trier
Author-email: byronimo@gmail.com, mtrier@gmail.com
License: BSD
Location: /home/wangji/.local/lib/python3.8/site-packages
Requires: gitdb
Required-by:
wangji@script-wang:~/framework/framework_master$
wangji@script-wang:~/framework/framework_master$ sudo pip show gitpython
Name: GitPython
Version: 3.1.31
Summary: GitPython is a Python library used to interact with Git repositories
Home-page: https://github.com/gitpython-developers/GitPython
Author: Sebastian Thiel, Michael Trier
Author-email: byronimo@gmail.com, mtrier@gmail.com
License: BSD
Location: /usr/local/lib/python3.8/dist-packages
Requires: gitdb
Required-by:
10. wsl2安装openssh-server
- ref:wsl中安装openssh-server:会出现安装openssh-server报Depends: openssh-client (= 1:6.6p1-2ubuntu2.8)错误
启动:
不能使用(直接使用就会报错):
sudo systemctl start sshd
得通过:
sudo /etc/init.d/ssh start
由于WSL2默认使用NAT的方式,所以需要开启端口转发,这样其他主机就可以ssh进来了
参考去设置wsl2的端口转发:wsl2 设置端口映射,以及修改windows防火墙(进和出的规则),别人就可以访问了
11.wsl2安装docker
ubuntu:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu/ $(lsb_release -cs) stable"
或者 vim /etc/apt/sources.list中增加:
deb [arch=amd64] https://download.docker.com/linux/ubuntu/ focal stable
focla:由$(lsb_release -cs)
安装docker以及docker-compose
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
启动docker
sudo /etc/init.d/docker start
可能存在的问题:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json": dial unix /var/run/docker.sock: connect: permission denied
- 原因:
wangji@script-wang:~/ota/OpenSource/ota-lith$ ll /var/run/docker.sock
srw-rw---- 1 root docker 0 Dec 2 12:43 /var/run/docker.sock=
可以看出,这个套接字文件所属组是docker,我们可以将该普通用户加入到docker这个组。
- 解决办法:
sudo gpasswd -a username docker #将普通用户username加入到docker组
$ newgrp docker #更新docker组
- ref:Docker权限 “Got permission denied while trying to connect to the Docker daemon socket at unix:///var/”
防火墙问题:
/var/log/docker.log
Error initializing network controller: error obtaining controller instance: unable to add return rule in DOCKER-ISOLATION-STAGE-1 chain: (iptables failed: iptables --wait -A DOCKER-ISOLATION-STAGE-1 -j RETURN: iptables v1.8.7 (nf_tables): RULE_APPEND failed (No such file or directory): rule in chain DOCKER-ISOLATION-STAGE-1
- 解决办法
sudo update-alternatives --config iptables
选择:iptables-legacy
-
ref:Docker in WSL2 failed to start daemon: Error initializing network controller
-
ref:Docker hub使用国内镜像源:最新Docker hub 国内镜像方法
sudo vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://4sjn347i.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn"
],
"max-concurrent-downloads": 10,
"insecure-registries": [],
"debug": true,
"experimental": false,
"features": {
"buildkit": true
}
}
接着重启docker即可
12.wsl2将默认的NAT方式配置成网桥模式
条件:
13.谷歌浏览器商店打不开怎么办?
14.wsl增加组播路由
15.Python默认查找包的环境
python -m site
16.vscode使用wsl插件出现的问题
问题1:openssl error:0A000126:SSL routines::unexpected eof while reading
- 主要原因是wsl中使用wget下载vscode服务器端报错
首先尝试升级openssl
sudo apt-get update && sudo apt-get install openssl
若不可以,则需离线安装服务器端到wsl中
commit_id=f06011ac164ae4dc8e753a3fe7f9549844d15e35
# Download url is: https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable
curl -sSL "https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable" -o vscode-server-linux-x64.tar.gz
mkdir -p ~/.vscode-server/bin/${commit_id}
# assume that you upload vscode-server-linux-x64.tar.gz to /tmp dir
tar zxvf /tmp/vscode-server-linux-x64.tar.gz -C ~/.vscode-server/bin/${commit_id} --strip 1
touch ~/.vscode-server/bin/${commit_id}/0
17.WSL2很卡
问题:WSL2 Vmmem占用内存很高,用着用着就卡
- 解决办法:打开cron的自启动服务,定时清内存
(1)配置cron服务
sudo crontab -e
添加:*/5 * * * * sync; echo 3 > /proc/sys/vm/drop_caches && touch /tmp/success_drop_caches_last_run || touch /tmp/faliure_drop_caches_last_run
(2)自动启动cron服务
sudo vim ~/.bashrc
添加:[ -z "$(ps -ef | grep cron | grep -v grep)" ] && sudo /etc/init.d/cron start &> /dev/null
配置sudo命令:若配置过则不需要配置
sudo visudo
sudo ALL=NOPASSWD: /etc/init.d/cron start
(3)在powershell中:wsl --shutdown
18.vscode常用插件小结
(1)vscode使用markdown:VS Code 插件之 Markdown 篇
- 说明:若需要对markdown的表格对齐的话,建议使用markdown all in one 格式化工具,不要去用markdown-formatter(很难用)
(2)离线环境下仅使用vscode remote ssh方式远程连接服务器操作指南
(3)vscode 的tab与空格设置 ,vscode使用sftp配置 ,vscode代码补全插件
(4)vsocde跳转python代码,vscode实现RF框架代码跳转功能
(5)vscode中使用TIMELINE和GIT插件查看代码的历史记录
(6)VSCode 的扩展包C/C++ IntelliSense, debugging, and code browsing的IntelliSense功能无法使用
(7)Windows 下 VSCode 使用 SSH 连接报 Bad owner or permissions on C:\Users\Administrator/.ssh/config 错误问题解决
19.vim 整合插件
- 教程:Vim命令全解
(1)vim搜索设置高亮
- ref:vim搜索设置高亮
有两种方法:
1、临时设置:vim打开文档-->命令行形式输入 set hlsearch。
缺点:关闭文档后,下次打开,又需要重新设置一遍。
2、永久设置(推荐):在~/.vimrc中配制
vim ~/.vimrc
在文件中加上set hlsearch
然后保存退出便可。
优点:一次设置,永久生效。
(2)vim常用操作
hjkl左上下右
i当前字符前插入
a当前字符后插入
I当前行开头插入
A当前行末尾插入
o在后一行插入
O在前一行插入
v选择
V选择整行
y复制
p粘贴在当前字符后
P粘贴在当前字符前
c修改
d删除
x删除一个字符
s修改当前字符
r仅修改当前字符
f跳转到下一个字符上
t跳转到下一个字符前
0开头
$结尾
^除去空格的开头
w下一个单词
b上一个单词
e下一个单词的末尾
W下一个单词(无视符号)
B上一个单词(无视符号)
E下一个单词的末尾(无视符号)
ZZ保存并退出
ZQ不保存强制退出
<<减小缩进
>>增大缩进
==自动调整缩进
#向前查找当前光标下单词
*向后查找当前光标下单词
?向前查找
/向后查找
n下一个
N上一个
{上一段落
}下一段落
u撤销上一次操作,ctrl+r则为反撤销操作
全词匹配:/int\>
不区分大小写::set ignorecase //忽略大小写,:set noignorecase //恢复到大小写敏感
vim其他操作
(1)vim批量注释
v或者V选中后,命令行输入:'<,'>norm I//
等价于26,32norm I//
批量取消注释
v或者V选中后,命令行输入:'<,'>norm 0x
(2)ctrl+u,ctrl+d快速翻页
(3)V选中部分批量替换
'<,'>s/wang/ji/g
全文替换:1,$s/wang/ji/g
(4)取消高亮选中
:noh
(5)vim中打开目录
:NERDTreeToggle
(6)Plug
:PulgInstall
eg:"Plug 'vim-scripts/vim-airline' ->"Plug 'vim-scripts/vim-airline'
去掉前面的"
" no longer used vim-airline:
"let g:airline#extensions#coc#enabled = 1
"let g:airline#extensions#tabline#enabled = 1
"let g:airline#extensions#tabline#left_alt_sep = '|'
"let g:airline#extensions#tabline#buffer_nr_show = 0
"let g:airline#extensions#tabline#formatter = 'default'
"let g:airline#extensions#keymap#enabled = 1
"let g:airline#extensions#tabline#buffer_idx_mode = 1
则需要在vim下执行:PulgInstall
(7)wsl ubuntu中vim拷贝到windows剪切板
apt-get install -y vim-gtk3
检查一下是否安装成:
vim --version | grep \"clipboard\"
+clipboard +keymap +printer +vertsplit
vim中的内容保存至windows剪切板:
:'<,'>w !clip.exe
(8)ctrl t 下面打开终端,ctrl w在终端和代码中切换
将代码拷贝到终端:y拷贝vim中的内容,然后换到终端中输入:ctrl w\"\"
(9)F7编译代码,编译选项:/home/wangji/.vim/tasks.ini
F5构建和运行Cmake工程
(10)gd寻找定义
可能打开多个文件F2文件往左,F3文件往右
跳转回来:ctrl o,跳转进去ctrl i
gr查看这个函数被谁引用了
- ref:wsl vim无法复制到系统剪贴板,解决方法,WSL2环境下VIM的clipboard解决方案
20.curl直接下载github release文件
方法1:
curl -LsO https://github.com/archibate/vimrc/releases/vimrc-install.sh
# -L 参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向。
# -s 是silent,就是不输出详细过程
# -O 把输出写到该文件中,保留远程文件的文件名
方法2:
git clone git@github.com:archibate/vimrc.git
注释掉./vimrc/.vim/install.sh文件中的set -e
./vimrc/.vim/install.sh
21 git submodule问题
22 ubuntu支持交叉编译
会在你的环境中安装一个默认适配你环境的较新版本
sudo apt-get install gcc-aarch64-linux-gnu -y
查询版本号
root@bruce:/# aarch64-linux-gnu-gcc -v
如果CMake中制定特定版本的交叉编译器,eg:
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc-9)
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++-9)
则可以执行这个命令,ubuntu会告诉你如何安装
wangji@script-wang:~/time/timesync/build/install/bin$ aarch64-linux-gnu-g++-9
sudo apt install g++-9-aarch64-linux-gnu -y
23.Ubuntu 查看cpu个数及核心数
- ref:
查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
查看线程数
grep 'processor' /proc/cpuinfo | sort -u | wc -l
23.如何在ubuntu22.04版本上安装libssl1.1?
24.boost手册及安装
boost中文手册:
Boost C++ 库
boost英文手册:
Chapter 22. Boost.PropertyTree
Boost常用组件概览:链接
boost安装:
在Ubuntu上安装Boost的五种方法(全网最全,建议收藏)
main/release/1.71.0/source
25.WSL2端口映射
将ip地址的对应的端口映射到宿主win10对应的端口
# netsh interface portproxy add v4tov4 listenport=[win10端口] listenaddress=0.0.0.0 connectport=[虚拟机的端口] connectaddress=[虚拟机的ip]
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=172.29.41.233
删除端口转发
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=0.0.0.0
检测是否设置成功
netsh interface portproxy show all
接着,还需要配置windows的防火墙规则,可以参考:vm虚拟机中使用NAT模式特别说明
26.Ubuntu 22.04 Minikube安装配置
Ubuntu 22.04 Minikube安装配置,Minikube-ubuntu系统安装minikube,minikube配置,–registry-mirror=https://registry.docker-cn.com
MacOS 安装 minikube 后执行 “minikube start” 卡在 “Booting up control plane …”
如果改用国内镜像源还是无法下载,则参看链接,自己使用docker下载并重新tag
自己docker pull然后改名字
问题:
shaokun@shaokun:~/wangji/ota-community-edition$ make start
😄 minikube v1.2.0 on linux (amd64)
✅ using image repository registry.cn-hangzhou.aliyuncs.com/google_containers
E0413 18:31:19.631161 3057 start.go:559] StartHost: Error loading existing host. Please try running [minikube delete], then run [minikube start] again.: registry: driver not found
💣 Unable to start VM: Error loading existing host. Please try running [minikube delete], then run [minikube start] again.: registry: driver not found
😿 Sorry that minikube crashed. If this was unexpected, we would love to hear from you:
👉 https://github.com/kubernetes/minikube/issues/new
make: *** [Makefile:14: start-minikube] Error 70
shaokun@shaokun:~/wangji/ota-community-edition$ minikube delete
解决:
安装minikube v1.4.0版本
27.ubuntu 22.04 安装kubectl
28.ubuntu22.04安装kOps
29.在线生成asicc字符画网站
30.连接dl.google.com超时的问题
解决Android studio 连接 dl.google.com超时的问题
31.clang-tid静态检查工具
32.起变量名网站CODELF
33.wsl2中pip很慢
如果已经配置pip源,还是很慢,可以执行:
python -m pip install --upgrade pip wheel setuptools
34.Windows10或者Windows11主机无法PING通的解决方法
步骤:Windows10或者Windows11主机无法PING通的解决方法
检查:
打开windows安全中心->打开防火墙和网络保护->打开高级设置
可以看到入站规则中显示ICMP回显请求,说明设置成功了
35. Key is stored in legacy trusted.gpg
问题:
apt-get update -y 出现以下告警
Reading package lists... Done
W: https://download.docker.com/linux/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
解决办法:
sudo apt-key list
wangji@DESKTOP-9TAUMH9:~$ apt-key list
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
--------------------
pub rsa4096 2015-05-29 [SC]
2EE0 EA64 E40A 89B8 4B2D F734 99E8 2A75 642A C823
uid [ unknown] sbt build tool <scalasbt@gmail.com>
sub rsa4096 2015-05-29 [E]
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
/etc/apt/trusted.gpg.d/sbt.gpg
------------------------------
pub rsa4096 2015-05-29 [SC]
2EE0 EA64 E40A 89B8 4B2D F734 99E8 2A75 642A C823
uid [ unknown] sbt build tool <scalasbt@gmail.com>
sub rsa4096 2015-05-29 [E]
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
------------------------------------------------------
pub rsa4096 2012-05-11 [SC]
8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
/etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg
------------------------------------------------------
pub rsa4096 2018-09-17 [SC]
F6EC B376 2474 EDA9 D21B 7022 8719 20D1 991B C93C
uid [ unknown] Ubuntu Archive Automatic Signing Key (2018) <ftpmaster@ubuntu.com>
选择出现告警的key进行修复,我这里显然是docker,且仅取出上述key最后的8个字符即可0EBF CD88
wangji@DESKTOP-9TAUMH9:~$ sudo apt-key export 0EBFCD88| sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg
ref:
36.wget --no-check-certificate 问题解决
添加 --no-check-certificate
使用.wgetrc 文件(以后都就可以了)
echo "check_certificate = off" >> ~/.wgetrc
ref:
40.Windows设置暗黑主题方案
10 个适用于 Google Chrome 的最佳黑暗模式扩展
最好用的感觉还是浏览器自带的暗模式:
Step1
- 依次点击:设置 > 个性化 > 颜色 > 选择默认应用模式 > 深色,来开启系统深色主题。
- 此时,Chrome的标题栏和状态栏,应该会变成深色,但是网页的主体部分没有变化。
Step2 - 打开 Chrome,并在地址栏中输入(或复制+粘贴)“ chrome://flags ”,然后按 “Enter”
- 然后,在搜索框中,输入 “dark mode”,找到选项之后,把右侧的状态,改为 “Enable”
- 重新启动浏览器,即可完成设置。
41.pdf翻译
42.ubuntu20.04 install/uninstall gcc11
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt install -y gcc-11
gcc-11 --version
sudo apt purge --autoremove -y gcc-11
sudo rm -rf /etc/apt/trusted.gpg.d/ubuntu-toolchain-r_ubuntu_test.gpg
sudo rm -rf /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-focal.list
43.clang-format配置
vscode安装clang-format插件
jiang下属配置放到工程目录的.clang-format即可:
---
Language: Cpp
# BasedOnStyle: Google
AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign
# T503 : 2-2-5
AlignConsecutiveAssignments: Consecutive
AlignConsecutiveDeclarations: false
AlignConsecutiveMacros: false
AlignEscapedNewlines: Left
AlignOperands: false
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
# T503 : 2-4-1
AllowShortLambdasOnASingleLine: Empty
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: true
# To be included in T503
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
# T503 : 2-2-2, 2-1-2
AfterCaseLabel: true
AfterClass: true
# T503 : 2-1-2
AfterControlStatement: Always
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: false
AfterStruct: true
AfterUnion: true
AfterExternBlock: false
BeforeCatch: false
# T503: 2-1-2
BeforeElse: true
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakAfterJavaFieldAnnotations: false
BreakBeforeBinaryOperators: All
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: true
# To be included in T503
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeComma
BreakStringLiterals: true
# T503 : 2-1-1
ColumnLimit: 80
CommentPragmas: '^ clang-format:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: false
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
# To be included in T503
IncludeCategories:
- Regex: '^<.*\.h>'
Priority: 1
- Regex: '^<.*'
Priority: 2
- Regex: '.*'
Priority: 3
IncludeIsMainRegex: '(Test)?$'
IndentCaseLabels: false
IndentPPDirectives: BeforeHash
IndentWidth: 4
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: '^MR_HEADER$'
MacroBlockEnd: '^MR_FOOTER$'
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: false
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Left
ReflowComments: true
SortIncludes: false
SortUsingDeclarations: false
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
Standard: Auto
TabWidth: 4
UseCRLF: false
UseTab: Never
...
44.ubuntu 配置命令提示符
可用的配置如下:
## PS1&PS2
## get current branch in git repo
function parse_git_branch() {
BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
if [ ! "${BRANCH}" == "" ]
then
STAT=`parse_git_dirty`
echo "[${BRANCH}${STAT}]"
else
echo ""
fi
}
## get current status of git repo
function parse_git_dirty {
status=`git status 2>&1 | tee`
dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"`
untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"`
ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"`
newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"`
renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"`
deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"`
bits=''
if [ "${renamed}" == "0" ]; then
bits=">${bits}"
fi
if [ "${ahead}" == "0" ]; then
bits="*${bits}"
fi
if [ "${newfile}" == "0" ]; then
bits="+${bits}"
fi
if [ "${untracked}" == "0" ]; then
bits="?${bits}"
fi
if [ "${deleted}" == "0" ]; then
bits="x${bits}"
fi
if [ "${dirty}" == "0" ]; then
bits="!${bits}"
fi
if [ ! "${bits}" == "" ]; then
echo " ${bits}"
else
echo ""
fi
}
## return
function get_return() {
RETVAL=$?
# Normal
[ $RETVAL -eq 0 ] && echo -e "\033[32m▶ \033[0m"
# Ctrl + C
[ $RETVAL -eq 130 ] && echo -e "\033[32m▶ \033[0m"
# Ctrl + Z
[ $RETVAL -eq 148 ] && echo -e "\033[32m▶ \033[0m"
# Error
[ $RETVAL -ne 0 ] && [ $RETVAL -ne 130 ] && [ $RETVAL -ne 148 ] && echo -e "\033[31m✗ \033[0m"
}
export PS1="\`get_return\`\[\e[36m\][\W]\[\e[m\]\[\e[35m\]\`parse_git_branch\`\[\e[m\]\[\e[33m\]\\$\[\e[m\] "
export PS2="\[\e[32m\]>\[\e[m\] "
在新建一个~/.bashrc_ps1_ps2文件,然后填入上述内容;
在/.bashrc中,填入以下内容即可:
. ~/.bashrc_ps1_ps2
45.wsl2中安装kali
(1)打开微软商店安装kali
安装完毕后打开kali,可能会出现WslRegisterDistribution failed with error: 0x80004005错误
在PowerShell中执行wsl --update即可
(2)配置kali源
sed -i "s@http://http.kali.org/kali@https://mirrors.tuna.tsinghua.edu.cn/kali@g" /etc/apt/sources.list
(3)Install the dependencies
sudo apt update
sudo apt install kali-win-kex
(4)open the GUI
- 可能需要输入密码,输入即可
kex
(5)install burpsuit
- built-in version:
sudo apt-get install -y burpsuite
- free profession version(for Linux version, WIndows版本也支持)
- ZIP压缩包,或者从Pentesting Club下载也可以
使用步骤如下:
下载 Zip 文件并解压。
使用 Sudo 执行 Kali_Linux_Setup.sh 文件,sudo ./Kali_Linux_Setup.sh
Burp Suite Pro 激活步骤
修改加载窗口中的许可证字符串 “license to Siddharth Sangwan”。
从加载窗口复制许可证密钥并粘贴到 Burp Suite Pro 中,然后点击下一步。
选择 Burp Suite Pro 右下方的手动激活选项。
从 BurpSuite_Pro 中复制许可证请求并粘贴到加载器中。
从加载器中复制许可证响应并粘贴到 Burp Suite Pro 中,然后点击下一步并完成。
现在 Burp Suite Pro 已为根用户激活,要重新启动它,只需在终端运行以下命令:sudo burp
结果展示:
启动
sudo burp
参考:
- Install kali linux on wsl2
- How do i fix the error “WslRegisterDistribution failed with error: 0x80004005” which comes when I try to install kali linux?
- Kali 软件仓库
- Burp-Suite-Pro
46.WSL2 install plantuml.jar
下载jar包:
放在~/.java/下面:
▶ [test]$
▶ [test]$ ll ~/.java/
total 9540
drwxr-xr-x 4 wangji wangji 4096 Mar 18 13:55 ./
drwxrwxr-x 71 wangji wangji 4096 Mar 18 13:58 ../
drwx------ 3 wangji wangji 4096 Nov 15 2022 .userPrefs/
drwxr-xr-x 5 wangji wangji 4096 Mar 18 13:51 fonts/
-rwxr-xr-x 1 wangji wangji 9749978 Mar 18 13:59 plantuml.jar*
▶ [test]$
vscode 的preview enhance中配置plantuml.jar包的绝对路径:
参考:
47. The repository ‘http://mirrors.kernel.org/ubuntu hirsute Release’ does not have a Release file
执行sudo apt-get update -y,出现以下的结果:
E: The repository 'http://mirrors.kernel.org/ubuntu hirsute Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details
解决办法:
sudo vim /etc/apt/sources.list
在出问题的deb后面增加[trusted=yes]
参考: