🎨 截断
This commit is contained in:
parent
77eec054b3
commit
fdbe7c0e31
@ -50,7 +50,7 @@ client.loop_forever()
|
|||||||
```
|
```
|
||||||
|
|
||||||
上面的代码展示了如何连接到MQTT服务器并订阅主题。您还可以使用client.publish()方法发布消息到指定主题!
|
上面的代码展示了如何连接到MQTT服务器并订阅主题。您还可以使用client.publish()方法发布消息到指定主题!
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
## 音响领域问题
|
## 音响领域问题
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
|
|||||||
dpkg -l | grep docker
|
dpkg -l | grep docker
|
||||||
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
|
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
|
||||||
```
|
```
|
||||||
|
<!--more-->
|
||||||
## 卸载没有删除的docker相关插件,比如
|
## 卸载没有删除的docker相关插件,比如
|
||||||
```
|
```
|
||||||
sudo apt-get autoremove docker-ce-*
|
sudo apt-get autoremove docker-ce-*
|
||||||
|
@ -21,7 +21,7 @@ docker run -d --net=my-docker-net --ip=172.0.0.3 --name=[容器名字] -v [镜
|
|||||||
|
|
||||||
通过IP`172.0.0.3`访问该容器了。
|
通过IP`172.0.0.3`访问该容器了。
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
# 补充知识
|
# 补充知识
|
||||||
|
|
||||||
172.0.0.0/24 是一个 CIDR(Classless Inter-Domain Routing)表示法,它使用网络地址和掩码长度来表示一个 IP 地址范围。255.255.255.0 是对应的子网掩码,也称为网络掩码。包含了从 172.0.0.0 到 172.0.0.255 的所有 IP 地址。
|
172.0.0.0/24 是一个 CIDR(Classless Inter-Domain Routing)表示法,它使用网络地址和掩码长度来表示一个 IP 地址范围。255.255.255.0 是对应的子网掩码,也称为网络掩码。包含了从 172.0.0.0 到 172.0.0.255 的所有 IP 地址。
|
||||||
|
@ -24,7 +24,7 @@ OPTIONS说明:
|
|||||||
|
|
||||||
## docker 定时任务执行
|
## docker 定时任务执行
|
||||||
> 下面是PHP的satis私有镜像仓库命令在docker中同步命令如下:
|
> 下面是PHP的satis私有镜像仓库命令在docker中同步命令如下:
|
||||||
|
<!--more-->
|
||||||
```shell
|
```shell
|
||||||
docker exec php74 /bin/sh -c "cd satis/ && php bin/satis build satis.json public/"
|
docker exec php74 /bin/sh -c "cd satis/ && php bin/satis build satis.json public/"
|
||||||
```
|
```
|
||||||
|
@ -8,19 +8,19 @@ tags: Docker
|
|||||||
|
|
||||||
使用阿里云镜像服务进行 docker login 发生错误,具体如下:
|
使用阿里云镜像服务进行 docker login 发生错误,具体如下:
|
||||||
|
|
||||||
|
```shell
|
||||||
```
|
|
||||||
docker login失败:err: exit status 1, Try “pass init“
|
docker login失败:err: exit status 1, Try “pass init“
|
||||||
```
|
```
|
||||||
|
|
||||||
后来搜索一下,找到问题解决办法!
|
后来搜索一下,找到问题解决办法!
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
## 解决办法
|
## 解决办法
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 1.安装 docker-credential-pass
|
### 1.安装 docker-credential-pass
|
||||||
```
|
|
||||||
|
```shell
|
||||||
wget https://github.com/docker/docker-credential-helpers/releases/download/v0.6.0/docker-credential-pass-v0.6.0-amd64.tar.gz
|
wget https://github.com/docker/docker-credential-helpers/releases/download/v0.6.0/docker-credential-pass-v0.6.0-amd64.tar.gz
|
||||||
|
|
||||||
tar -xf docker-credential-pass-v0.6.0-amd64.tar.gz
|
tar -xf docker-credential-pass-v0.6.0-amd64.tar.gz
|
||||||
@ -32,7 +32,8 @@ docker-credential-pass //出现 You should see: "Usage: docker-credential-pass <
|
|||||||
```
|
```
|
||||||
|
|
||||||
### 2.安装 gpg pass & 生成key
|
### 2.安装 gpg pass & 生成key
|
||||||
```
|
|
||||||
|
```shell
|
||||||
apt install gpg pass
|
apt install gpg pass
|
||||||
|
|
||||||
# 下一步 生成key
|
# 下一步 生成key
|
||||||
@ -42,13 +43,15 @@ gpg --generate-key #需要要填入姓名邮箱等信息. 输入新的password
|
|||||||
pass init (paste from clipboard) //直接从复制版上粘贴
|
pass init (paste from clipboard) //直接从复制版上粘贴
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3.设置密码
|
### 3.设置密码
|
||||||
```
|
|
||||||
|
```shell
|
||||||
pass insert docker-credential-helpers/docker-pass-initialized-check # 输入新密码
|
pass insert docker-credential-helpers/docker-pass-initialized-check # 输入新密码
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### 4. 修改~/.docker/config.json 没有就创建
|
### 4. 修改~/.docker/config.json 没有就创建
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"credsStore":"pass"
|
"credsStore":"pass"
|
||||||
@ -57,7 +60,6 @@ pass insert docker-credential-helpers/docker-pass-initialized-check # 输入新
|
|||||||
|
|
||||||
再次 docker login应该不会出现授权错误
|
再次 docker login应该不会出现授权错误
|
||||||
|
|
||||||
## 参考链接:
|
## 参考链接
|
||||||
|
|
||||||
[https://github.com/docker/docker-credential-helpers/issues/102](https://github.com/docker/docker-credential-helpers/issues/102)
|
[https://github.com/docker/docker-credential-helpers/issues/102](https://github.com/docker/docker-credential-helpers/issues/102)
|
||||||
|
|
||||||
|
@ -10,6 +10,8 @@ Docker 镜像的定制实际上就是定制每一层所添加的配置、文件
|
|||||||
|
|
||||||
Dockerfile 是一个文本文件,其内包含了一条条的 **指令(Instruction)**,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
|
Dockerfile 是一个文本文件,其内包含了一条条的 **指令(Instruction)**,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
### 使用 Dockerfile 构建镜像
|
### 使用 Dockerfile 构建镜像
|
||||||
|
|
||||||
## 二、Dockerfile 指令详解
|
## 二、Dockerfile 指令详解
|
||||||
|
@ -8,13 +8,10 @@ tags: Docker
|
|||||||
|
|
||||||
因为部分老项目使用5.6版本且部分功能依赖zip扩展 ,所以在镜像(apline)构建安装zip扩展,安装过程中报如下错误:
|
因为部分老项目使用5.6版本且部分功能依赖zip扩展 ,所以在镜像(apline)构建安装zip扩展,安装过程中报如下错误:
|
||||||
|
|
||||||
```
|
```shell
|
||||||
Please reinstall the libzip distribution
|
Please reinstall the libzip distribution
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 解决办法
|
## 解决办法
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -28,4 +25,5 @@ docker-php-ext-enable zip
|
|||||||
```
|
```
|
||||||
|
|
||||||
## 补充
|
## 补充
|
||||||
|
|
||||||
可能还有其他问题,不过我本机可能只缺少这些依赖,所以安装成功了
|
可能还有其他问题,不过我本机可能只缺少这些依赖,所以安装成功了
|
||||||
|
@ -13,7 +13,7 @@ docker pull ghcr.io/jaywcjlove/linux-command:latest
|
|||||||
# 自定义端口
|
# 自定义端口
|
||||||
docker run --name linux-command --rm -d -p 3100:3000 wcjiang/linux-command:latest
|
docker run --name linux-command --rm -d -p 3100:3000 wcjiang/linux-command:latest
|
||||||
```
|
```
|
||||||
|
<!--more-->
|
||||||
在浏览器中访问如下地址:
|
在浏览器中访问如下地址:
|
||||||
|
|
||||||
`http://localhost:3100/`
|
`http://localhost:3100/`
|
||||||
|
@ -5,7 +5,7 @@ tags: Samba
|
|||||||
---
|
---
|
||||||
|
|
||||||
家里一台软路由安装了jellyfin,想把媒体目录挂载到另一台大容量的主机上。所以要将这台大容量的主机上通过Samba共享给软路由主机上,因此需将软路由主机本地文件夹映射到远程大容量的主机Samba共享目录下。
|
家里一台软路由安装了jellyfin,想把媒体目录挂载到另一台大容量的主机上。所以要将这台大容量的主机上通过Samba共享给软路由主机上,因此需将软路由主机本地文件夹映射到远程大容量的主机Samba共享目录下。
|
||||||
<!--more-->>
|
<!--more-->
|
||||||
前提Samba安装配置已经在两台主机上配好,这里不再复述!
|
前提Samba安装配置已经在两台主机上配好,这里不再复述!
|
||||||
|
|
||||||
# 安装软件包
|
# 安装软件包
|
||||||
|
@ -6,7 +6,6 @@ tags: ssh
|
|||||||
|
|
||||||
由于更换新电脑,需要生成新的密钥去免密登陆服务器,小记一下流程,免得下次还得搜索一下相关教程。
|
由于更换新电脑,需要生成新的密钥去免密登陆服务器,小记一下流程,免得下次还得搜索一下相关教程。
|
||||||
|
|
||||||
|
|
||||||
## 密钥登录的过程
|
## 密钥登录的过程
|
||||||
|
|
||||||
SSH 密钥登录分为以下的步骤。
|
SSH 密钥登录分为以下的步骤。
|
||||||
@ -18,8 +17,10 @@ SSH 密钥登录分为以下的步骤。
|
|||||||
5. 客户端收到服务器发来的数据,使用私钥对数据进行签名,然后再发还给服务器。
|
5. 客户端收到服务器发来的数据,使用私钥对数据进行签名,然后再发还给服务器。
|
||||||
6. 服务器收到客户端发来的加密签名后,使用对应的公钥解密。若解密后数据一致,则允许用户登录。
|
6. 服务器收到客户端发来的加密签名后,使用对应的公钥解密。若解密后数据一致,则允许用户登录。
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
## 生成公/私密钥
|
## 生成公/私密钥
|
||||||
```sh
|
|
||||||
|
```shell
|
||||||
# 我这边是linux windows 系统可以在当前用户文件目录下自行创建该文件夹
|
# 我这边是linux windows 系统可以在当前用户文件目录下自行创建该文件夹
|
||||||
cd ~/.ssh
|
cd ~/.ssh
|
||||||
# 生成密钥 可使用-t参数,指定密钥的加密算法。默认RSA 其他算法可以搜索了解一下 然后一路回车即可
|
# 生成密钥 可使用-t参数,指定密钥的加密算法。默认RSA 其他算法可以搜索了解一下 然后一路回车即可
|
||||||
@ -36,7 +37,6 @@ ssh-keygen
|
|||||||
|
|
||||||
手动上传就是直接将公钥里面文本直接追加到`~/.ssh/authorized_keys`里面。
|
手动上传就是直接将公钥里面文本直接追加到`~/.ssh/authorized_keys`里面。
|
||||||
|
|
||||||
|
|
||||||
另外还可以使用`ssh-copy-id` 命令进行自动上传,本质就是自动把公钥里面文本直接追加到`~/.ssh/authorized_keys`里面。密令如下:
|
另外还可以使用`ssh-copy-id` 命令进行自动上传,本质就是自动把公钥里面文本直接追加到`~/.ssh/authorized_keys`里面。密令如下:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@ -49,7 +49,6 @@ ssh-copy-id -i pub_key_file user@host
|
|||||||
|
|
||||||
配置config目的在于简化ssh登录命令,在当前用户 `~/.ssh/` 新建config文本 若存在无需创建。
|
配置config目的在于简化ssh登录命令,在当前用户 `~/.ssh/` 新建config文本 若存在无需创建。
|
||||||
|
|
||||||
|
|
||||||
配置如下:
|
配置如下:
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -59,32 +58,35 @@ Host zyimm
|
|||||||
Port 22
|
Port 22
|
||||||
IdentityFile file_key
|
IdentityFile file_key
|
||||||
```
|
```
|
||||||
|
|
||||||
> 配置文本格式,只需要同级别空格对齐即可。
|
> 配置文本格式,只需要同级别空格对齐即可。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### HostName
|
### HostName
|
||||||
|
|
||||||
需要ssh连接过去的主机名,一般是IP地址。
|
需要ssh连接过去的主机名,一般是IP地址。
|
||||||
|
|
||||||
|
|
||||||
### User
|
### User
|
||||||
|
|
||||||
登录主机的用户名
|
登录主机的用户名
|
||||||
|
|
||||||
### IdentityFile
|
### IdentityFile
|
||||||
|
|
||||||
认证证书文件,默认位置是~/.ssh/id_rsa, ~/ssh/id_dsa等,如果采用默认的证书,可以不用设置此参数,除非你的证书放在某个自定义的目录,那么你就需要设置该参数来指向你的证书
|
认证证书文件,默认位置是~/.ssh/id_rsa, ~/ssh/id_dsa等,如果采用默认的证书,可以不用设置此参数,除非你的证书放在某个自定义的目录,那么你就需要设置该参数来指向你的证书
|
||||||
|
|
||||||
### Port
|
### Port
|
||||||
SSH访问主机的端口号,默认是22端口,同上,只有在非默认情况下才需要设置该值
|
|
||||||
|
|
||||||
|
SSH访问主机的端口号,默认是22端口,同上,只有在非默认情况下才需要设置该值
|
||||||
|
|
||||||
## 使用
|
## 使用
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
ssh zyimm # 即可免密登陆192.168.1.1服务器了
|
ssh zyimm # 即可免密登陆192.168.1.1服务器了
|
||||||
```
|
```
|
||||||
|
|
||||||
如果使用vscode 建议下载 Remote-ssh 扩展,搭配使用更舒服!
|
如果使用vscode 建议下载 Remote-ssh 扩展,搭配使用更舒服!
|
||||||
|
|
||||||
> 记得配置之后需要重启服务器上的ssh服务!常见重启ssh服务命令如下(选择其中之一即可):
|
> 记得配置之后需要重启服务器上的ssh服务!常见重启ssh服务命令如下(选择其中之一即可):
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
service sshd restart
|
service sshd restart
|
||||||
systemctl restart sshd.service
|
systemctl restart sshd.service
|
||||||
@ -92,6 +94,7 @@ systemctl restart sshd.service
|
|||||||
```
|
```
|
||||||
|
|
||||||
## 调试
|
## 调试
|
||||||
|
|
||||||
如果在上面步骤操作完之后,仍然出现一些问题,可以在命令中带上-v以便定位问题
|
如果在上面步骤操作完之后,仍然出现一些问题,可以在命令中带上-v以便定位问题
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -6,9 +6,9 @@ tags: Charles
|
|||||||
|
|
||||||
[charles 官网](https://www.charlesproxy.com/) 下载Charles,Debian系列发行版可以使用 `apt-get install charles-proxy` 安装,不过需要提前安装对应key才可以安装,我这边是直接下载安装包解压安装。
|
[charles 官网](https://www.charlesproxy.com/) 下载Charles,Debian系列发行版可以使用 `apt-get install charles-proxy` 安装,不过需要提前安装对应key才可以安装,我这边是直接下载安装包解压安装。
|
||||||
|
|
||||||
|
|
||||||
## 解压&安装
|
## 解压&安装
|
||||||
```
|
|
||||||
|
```shell
|
||||||
# 下载包具体以最新版本为准
|
# 下载包具体以最新版本为准
|
||||||
tar -xvf charles-proxy-4.6.3_amd64.tar.gz
|
tar -xvf charles-proxy-4.6.3_amd64.tar.gz
|
||||||
|
|
||||||
@ -18,13 +18,14 @@ mv charles /opt/
|
|||||||
# 检查一下 charles/bin/charles 是否具有执行权限没有需要`chmod u+x`
|
# 检查一下 charles/bin/charles 是否具有执行权限没有需要`chmod u+x`
|
||||||
|
|
||||||
```
|
```
|
||||||
|
<!--more-->
|
||||||
## 创建启动图标
|
## 创建启动图标
|
||||||
|
|
||||||
因为解压安装默认是不会生成启动图标的,所以需要单独创建
|
因为解压安装默认是不会生成启动图标的,所以需要单独创建
|
||||||
|
|
||||||
进入 `/usr/share/applications` 目录下
|
进入 `/usr/share/applications` 目录下
|
||||||
|
|
||||||
```
|
```shell
|
||||||
cd /usr/share/applications
|
cd /usr/share/applications
|
||||||
|
|
||||||
sudo touch charles.desktop
|
sudo touch charles.desktop
|
||||||
@ -34,6 +35,7 @@ sudo gedit charles.desktop
|
|||||||
```
|
```
|
||||||
|
|
||||||
接着输入如下信息:
|
接着输入如下信息:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=Charles
|
Name=Charles
|
||||||
@ -46,18 +48,17 @@ Comment=Charles
|
|||||||
Categories=Utility;
|
Categories=Utility;
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
说明一下:
|
说明一下:
|
||||||
|
|
||||||
1. Exec 是程序执行路径
|
1. Exec 是程序执行路径
|
||||||
2. Icon 图标
|
2. Icon 图标
|
||||||
3. Name 程序名称
|
3. Name 程序名称
|
||||||
|
|
||||||
|
|
||||||
其他配置说明自行百度~
|
其他配置说明自行百度~
|
||||||
|
|
||||||
`sudo chmod u+x charles.desktop` 最后赋予执行权限,接下来在启动页面搜索`Charles` 可以启动对应程序!
|
`sudo chmod u+x charles.desktop` 最后赋予执行权限,接下来在启动页面搜索`Charles` 可以启动对应程序!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Charles激活
|
## Charles激活
|
||||||
|
|
||||||
### 现成激活账号
|
### 现成激活账号
|
||||||
@ -69,15 +70,12 @@ https://zhile.io
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Charles在线免费工具生成一个新的注册码
|
### Charles在线免费工具生成一个新的注册码
|
||||||
|
|
||||||
[破解网址:www.zzzmode.com](https://www.zzzmode.com/mytools/charles/)
|
[破解网址:www.zzzmode.com](https://www.zzzmode.com/mytools/charles/)
|
||||||
|
|
||||||
|
|
||||||
然后打开Charles,在上方菜单栏的“Help”选择“Register Charles”输入生成账号和注册码即可
|
然后打开Charles,在上方菜单栏的“Help”选择“Register Charles”输入生成账号和注册码即可
|
||||||
|
|
||||||
|
|
||||||
## 参考
|
## 参考
|
||||||
|
|
||||||
1. [知乎:Charles安装与激活](https://zhuanlan.zhihu.com/p/537292816)
|
1. [知乎:Charles安装与激活](https://zhuanlan.zhihu.com/p/537292816)
|
@ -14,7 +14,7 @@ tags: Ubuntu
|
|||||||
sudo apt purge $(dpkg -l|grep ^rc|awk '{ print $2 }')
|
sudo apt purge $(dpkg -l|grep ^rc|awk '{ print $2 }')
|
||||||
sudo apt purge $(dpkg -l|grep iF|awk '{ print $2 }')
|
sudo apt purge $(dpkg -l|grep iF|awk '{ print $2 }')
|
||||||
```
|
```
|
||||||
|
<!--more-->
|
||||||
> 注解:
|
> 注解:
|
||||||
1. `$(......)` 是一个shell表示法,即里面包含括号中的命令输出的内容。
|
1. `$(......)` 是一个shell表示法,即里面包含括号中的命令输出的内容。
|
||||||
2. `dpkg -l`列出系统中所有安装的软件,如果是已经删除的软件(有残存的配置文件),那么该的软件包的状态是rc,即开头显赫为rc 然后是空格,然后是软件包的名称。如果是iF开头就是配置失败的软件。
|
2. `dpkg -l`列出系统中所有安装的软件,如果是已经删除的软件(有残存的配置文件),那么该的软件包的状态是rc,即开头显赫为rc 然后是空格,然后是软件包的名称。如果是iF开头就是配置失败的软件。
|
||||||
|
@ -15,14 +15,15 @@ tags: Ubuntu
|
|||||||
```shell
|
```shell
|
||||||
lspci -k |grep Ethernet
|
lspci -k |grep Ethernet
|
||||||
```
|
```
|
||||||
|
|
||||||
显示如下:
|
显示如下:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
|
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
|
||||||
```
|
```
|
||||||
|
<!--more-->
|
||||||
可以看到我的网卡是**Realtek Semiconductor Co., Ltd. RTL8125**,然后到供应商官网寻找对应驱动,[下载地址](https://www.realtek.com/zh/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software)。
|
可以看到我的网卡是**Realtek Semiconductor Co., Ltd. RTL8125**,然后到供应商官网寻找对应驱动,[下载地址](https://www.realtek.com/zh/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software)。
|
||||||
|
|
||||||
|
|
||||||
### 解压&安装
|
### 解压&安装
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
@ -35,6 +36,7 @@ sudo ./autorun.sh
|
|||||||
```
|
```
|
||||||
|
|
||||||
### 检测
|
### 检测
|
||||||
|
|
||||||
安装完毕之后,可以通过如下命令验证
|
安装完毕之后,可以通过如下命令验证
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
@ -42,4 +44,5 @@ lsmod | grep r8125
|
|||||||
|
|
||||||
ifconfig -a
|
ifconfig -a
|
||||||
```
|
```
|
||||||
|
|
||||||
如果上述命令能正常显示有关网卡驱动信息,且系统设置界面按钮可操作则代表成功!
|
如果上述命令能正常显示有关网卡驱动信息,且系统设置界面按钮可操作则代表成功!
|
||||||
|
@ -8,26 +8,27 @@ tags: Ubuntu
|
|||||||
|
|
||||||
目前开发的笔记本使用的是ubuntu22.04.1 版本,默认内置snap商店无法完成自身更新,所以小记一下解决办法。
|
目前开发的笔记本使用的是ubuntu22.04.1 版本,默认内置snap商店无法完成自身更新,所以小记一下解决办法。
|
||||||
|
|
||||||
|
|
||||||
解决办法如下:
|
解决办法如下:
|
||||||
```sh
|
|
||||||
|
```shell
|
||||||
# root 账号无需加上sudo
|
# root 账号无需加上sudo
|
||||||
sudo killall snap-store
|
sudo killall snap-store
|
||||||
|
|
||||||
sudo snap refresh snap-store
|
sudo snap refresh snap-store
|
||||||
```
|
```
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
## 禁止自动更新
|
## 禁止自动更新
|
||||||
|
|
||||||
> 目前snap 稳定版本通道已经支持禁止自动更新,如果下述命令不起作用或报错,请先同上述进行snap-store自身更新
|
> 目前snap 稳定版本通道已经支持禁止自动更新,如果下述命令不起作用或报错,请先同上述进行snap-store自身更新
|
||||||
|
|
||||||
### 全部自动禁止更新
|
### 全部自动禁止更新
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
snap refresh --hold
|
snap refresh --hold
|
||||||
```
|
```
|
||||||
|
|
||||||
### 禁用某个软件更新,比如火狐firefox
|
### 禁用某个软件更新,比如火狐firefox
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
snap refresh --hold firefox
|
snap refresh --hold firefox
|
||||||
```
|
```
|
||||||
|
@ -24,7 +24,7 @@ win10镜像下载地址:
|
|||||||
qemu-system-x86_64 -hda ./win10.img -cdrom win10.iso -boot d -enable-kvm -machine q35 -device intel-iommu -smp 2,sockets=1,cores=2 -m 2G -vga std -net nic,model=e1000 -net user -usbdevice tablet
|
qemu-system-x86_64 -hda ./win10.img -cdrom win10.iso -boot d -enable-kvm -machine q35 -device intel-iommu -smp 2,sockets=1,cores=2 -m 2G -vga std -net nic,model=e1000 -net user -usbdevice tablet
|
||||||
|
|
||||||
```
|
```
|
||||||
|
<!--more-->
|
||||||
提示:
|
提示:
|
||||||
下次启动,移除`-cdrom win10.iso` 参数,第一次需要通过cdrom镜像安装,等于实际光盘安装系统!
|
下次启动,移除`-cdrom win10.iso` 参数,第一次需要通过cdrom镜像安装,等于实际光盘安装系统!
|
||||||
|
|
||||||
|
@ -4,41 +4,42 @@ date: 2023-03-29
|
|||||||
tags: Git
|
tags: Git
|
||||||
---
|
---
|
||||||
|
|
||||||
### 1. 查看所有本地分支:
|
### 1. 查看所有本地分支
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git branch
|
git branch
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 2. 删除本地分支
|
||||||
### 2. 删除本地分支:
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git branch -D branch_name
|
git branch -D branch_name
|
||||||
```
|
```
|
||||||
|
|
||||||
其中,branch_name为要删除的分支名称。
|
其中,branch_name为要删除的分支名称。
|
||||||
|
|
||||||
### 3. 查看所有远程分支:
|
### 3. 查看所有远程分支
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ git branch -r
|
git branch -r
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. 删除远程分支:
|
### 4. 删除远程分支
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git push origin --delete branch_name
|
git push origin --delete branch_name
|
||||||
```
|
```
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
|
||||||
> 如果要批量删除本地分支,可以使用以下命令:
|
> 如果要批量删除本地分支,可以使用以下命令:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git branch | grep -v "main" | xargs git branch -D
|
git branch | grep -v "main" | xargs git branch -D
|
||||||
```
|
```
|
||||||
|
|
||||||
其中,"main"为要保留的分支名称,可以根据需要进行修改。
|
其中,"main"为要保留的分支名称,可以根据需要进行修改。
|
||||||
|
|
||||||
如果要批量删除远程分支,可以使用以下命令:
|
如果要批量删除远程分支,可以使用以下命令:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git branch -r | grep -v "main" | sed 's/origin\//:/' | xargs git push
|
git branch -r | grep -v "main" | sed 's/origin\//:/' | xargs git push
|
||||||
```
|
```
|
||||||
|
@ -21,7 +21,7 @@ ssh-keygen -t rsa -C "your_email@example.com"
|
|||||||
```sh
|
```sh
|
||||||
git config --global core.sshCommand "openssh-client -o StrictHostKeyChecking=no -i /path/to/your/key.pem"
|
git config --global core.sshCommand "openssh-client -o StrictHostKeyChecking=no -i /path/to/your/key.pem"
|
||||||
```
|
```
|
||||||
|
<!--more-->
|
||||||
1. `--global` 参数代表全局使用,不全局使用则需要进入对应本地仓库目录进行设置
|
1. `--global` 参数代表全局使用,不全局使用则需要进入对应本地仓库目录进行设置
|
||||||
|
|
||||||
2. `/path/to/your/key.pem` 是你的私钥
|
2. `/path/to/your/key.pem` 是你的私钥
|
||||||
|
@ -23,7 +23,7 @@ EXECUTE stmt;
|
|||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
|
|
||||||
```
|
```
|
||||||
|
<!--more-->>
|
||||||
|
|
||||||
上述代码中的 `database_name` 替换为要操作的数据库的名称,`regex_pattern` 替换为要匹配的表名的正则表达式模式。
|
上述代码中的 `database_name` 替换为要操作的数据库的名称,`regex_pattern` 替换为要匹配的表名的正则表达式模式。
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
|
|||||||
```
|
```
|
||||||
经查阅相关资料得知,需要添加`--column-statistics=0`即可。我猜测的原因可能是备份数据时候在读取相关表结构没有相关权限,所以报此错误。通过添加`--column-statistics=0`进行关闭,以免报错。
|
经查阅相关资料得知,需要添加`--column-statistics=0`即可。我猜测的原因可能是备份数据时候在读取相关表结构没有相关权限,所以报此错误。通过添加`--column-statistics=0`进行关闭,以免报错。
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
## column-statistics解释
|
## column-statistics解释
|
||||||
|
|
||||||
`--column-statistics` 是一个用于输出列统计信息的选项。这个选项可以让 mysqldump 在备份数据时,输出每个表的列名、数据类型、长度、默认值、是否为 null 等信息,同时还输出了每个列的统计信息,包括平均长度、总长度、字符集、数字类型的比例等信息。
|
`--column-statistics` 是一个用于输出列统计信息的选项。这个选项可以让 mysqldump 在备份数据时,输出每个表的列名、数据类型、长度、默认值、是否为 null 等信息,同时还输出了每个列的统计信息,包括平均长度、总长度、字符集、数字类型的比例等信息。
|
||||||
|
@ -38,7 +38,7 @@ void push(Array* arr, void* element) {
|
|||||||
}
|
}
|
||||||
arr->data[arr->size++] = element;
|
arr->data[arr->size++] = element;
|
||||||
}
|
}
|
||||||
|
<!--more-->
|
||||||
// 从动态数组中删除一个元素
|
// 从动态数组中删除一个元素
|
||||||
void removeElement(Array* arr, int index) {
|
void removeElement(Array* arr, int index) {
|
||||||
if (index < 0 || index >= arr->size) {
|
if (index < 0 || index >= arr->size) {
|
||||||
|
@ -23,7 +23,7 @@ tags: PHP
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
<!--more-->>
|
<!--more-->
|
||||||
然后执行`composer install` 或 `composer require <your-package@dev-master>`
|
然后执行`composer install` 或 `composer require <your-package@dev-master>`
|
||||||
|
|
||||||
## 排除特定文件或目录不被自动加载
|
## 排除特定文件或目录不被自动加载
|
||||||
|
@ -16,7 +16,7 @@ tags: PHP
|
|||||||
```shell
|
```shell
|
||||||
apk add libcurl curl-dev
|
apk add libcurl curl-dev
|
||||||
```
|
```
|
||||||
|
<!--more-->>
|
||||||
libcurl curl-dev 是linux下curl开发一系列依赖库和文件。http扩展需要curl,所以需要安装相关依赖!
|
libcurl curl-dev 是linux下curl开发一系列依赖库和文件。http扩展需要curl,所以需要安装相关依赖!
|
||||||
|
|
||||||
2. please install and enable pecl/raphf
|
2. please install and enable pecl/raphf
|
||||||
|
@ -28,7 +28,7 @@ tags: PHP
|
|||||||
public $baz;
|
public $baz;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
<!--more-->>
|
||||||
2. 变量以及属性多态类型优先级
|
2. 变量以及属性多态类型优先级
|
||||||
|
|
||||||
```php
|
```php
|
||||||
|
@ -17,6 +17,8 @@ tags: 设计模式
|
|||||||
|
|
||||||
如果一开始代码都写在一起,每种消息通知方式不同整体数据结构也大相径庭,那么后期维护可想而知 💔 。。。
|
如果一开始代码都写在一起,每种消息通知方式不同整体数据结构也大相径庭,那么后期维护可想而知 💔 。。。
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
# 如何解决
|
# 如何解决
|
||||||
|
|
||||||
将每种通知方式设为一种通知策略,因此在整体模块或服务设计时候,应该做好如下几点:
|
将每种通知方式设为一种通知策略,因此在整体模块或服务设计时候,应该做好如下几点:
|
||||||
|
@ -16,7 +16,7 @@ tags: 设计模式
|
|||||||
1. 定义cache工厂类(父类)和依赖类
|
1. 定义cache工厂类(父类)和依赖类
|
||||||
2. 编写各个类型cache子类
|
2. 编写各个类型cache子类
|
||||||
3. cache工厂类创建调用
|
3. cache工厂类创建调用
|
||||||
|
<!--more-->
|
||||||
# 实现
|
# 实现
|
||||||
> 这边实现使用PHP代码作为演示,其他oop语言逻辑类似。
|
> 这边实现使用PHP代码作为演示,其他oop语言逻辑类似。
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user