This commit is contained in:
Cat Tom
2024-07-26 02:07:14 +08:00
parent 5d8eafda23
commit cb5848a3f8
10 changed files with 101 additions and 115 deletions

View File

@ -4,7 +4,7 @@
以下是 Grafana 的 docker-compose 配置参考:
``` title="docker-compose.yml"
``` yaml title="docker-compose.yml"
services:
grafana:
image: grafana/grafana-enterprise
@ -24,7 +24,7 @@ volumes:
我们可以通过运行以下命令来做到这一点:
```bash
``` bash
docker volume ls
```
@ -42,7 +42,7 @@ local 3-buyvm-lv_grafana-storage
要创建 Docker 卷备份,可以使用 `docker run` 命令启动一个容器,挂载要备份的卷,并将备份数据写入压缩包。
```bash
``` bash
docker run --rm \
--mount source=<volume-name>,target=<target> \
-v $(pwd):/backup \
@ -54,7 +54,7 @@ tar -czvf /backup/<backup-filename>.tar.gz <target>
依照上面的命令,我们备份 `3-buyvm-lv_grafana-storage` 的命令便要这样写:
```bash
``` bash
docker run --rm \
--mount source=3-buyvm-lv_grafana-storage,target=/var/lib/grafana \
-v /root/backup:/backup \
@ -66,7 +66,7 @@ tar -czvf /backup/3-buyvm-lv_grafana-storage.tar.gz /var/lib/grafana
如果需要从备份中还原 Docker卷我们可以使用 `docker run` 命令启动一个容器,挂载备份文件并将备份数据写入卷。
```bash
``` bash
docker run --rm \
--mount source=<volume-name>,target=<target> \
-v $(pwd):/backup \
@ -78,7 +78,7 @@ tar -xzvf /backup/<backup-filename>.tar.gz -C /
依照上面的命令,我们还原 `3-buyvm-lv_grafana-storage` 的命令便要这样写:
```bash
``` bash
docker run --rm \
--mount source=3-buyvm-lv_grafana-storage,target=/var/lib/grafana \
-v /root/backup:/backup \

View File

@ -1,15 +1,15 @@
# 创建和管理 Linux 服务器用于身份验证的 SSH 密钥
## 使用 ssh-keygen 生成密钥
以下 ssh-keygen 命令默认在 ~/.ssh 目录中生成 4096 位 SSH RSA 公钥和私钥文件。 如果当前位置存在 SSH 密钥对,这些文件将被覆盖。
以下 `ssh-keygen` 命令默认在 `~/.ssh` 目录中生成 4096 位 SSH RSA 公钥和私钥文件。如果当前位置存在 SSH 密钥对,这些文件将被覆盖。
```bash
``` bash
ssh-keygen \
-m PEM \
-t rsa \
-b 4096 \
-C "azureuser@myserver" \
-f ~/.ssh/mykeys/myprivatekey \
-C "ubuntur@<ip>" \
-f ~/.ssh/myprivatekey \
-N mypassphrase
```
@ -23,32 +23,38 @@ ssh-keygen \
`-b 4096` = 密钥的位数,本例中为 4096
`-C "azureuser@myserver"` = 追加到公钥文件末尾以便于识别的注释。 通常以电子邮件地址用作注释,但也可以使用任何最适合你事物。
`-C "ubuntu@<ip>"` = 追加到公钥文件末尾以便于识别的注释。 通常以电子邮件地址用作注释,但也可以使用任何最适合你事物。
`-f ~/.ssh/mykeys/myprivatekey` = 私钥文件的文件名(如果选择不使用默认名称)。 追加了 .pub 的相应公钥文件在相同目录中生成。 该目录必须存在。
`-f ~/.ssh/myprivatekey` = 私钥文件的文件名(如果选择不使用默认名称)。该目录必须存在。
`-N mypassphrase` = 用于访问私钥文件的其他密码。
## 使用 ssh-agent 来存储私钥密码
为了避免在每次 SSH 登录时键入私钥文件密码,可以使用 `ssh-agent` 来缓存私钥文件密码。 如果使用 MacmacOS Keychain 在用户调用 `ssh-agent` 时会安全存储私钥密码。验证并使用 `ssh-agent``ssh-add` 将密钥文件的情况通知给 SSH 系统,这样就无需交互使用密码。
```bash
为了避免在每次 SSH 登录时键入私钥文件密码,可以使用 `ssh-agent` 来缓存私钥文件密码。
如果使用 MacmacOS Keychain 在用户调用 `ssh-agent` 时会安全存储私钥密码。
验证并使用 `ssh-agent` 和 `ssh-add` 将密钥文件的情况通知给 SSH 系统,这样就无需交互使用密码。
``` bash
eval "$(ssh-agent -s)"
```
现在,使用命令 `ssh-add` 将私钥添加到 `ssh-agent`。
```bash
``` bash
ssh-add ~/.ssh/id_rsa
```
私钥密码现在存储在 `ssh-agent` 中。
## 使用 ssh-copy-id 将密钥复制到现有服务器
如果已有服务器,可以使用 `ssh-copy-id`将新的 SSH 公钥添加到 Linux 服务器。
```bash
ssh-copy-id -i ~/.ssh/id_rsa.pub azureuser@myserver
如果已有服务器,可以使用 `ssh-copy-id` 将新的 SSH 公钥添加到 Linux 服务器。
``` bash
ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@<ip>
```
## 创建并配置 SSH 配置文件
@ -56,33 +62,35 @@ ssh-copy-id -i ~/.ssh/id_rsa.pub azureuser@myserver
以下示例显示一个简单配置,通过此配置,你可以使用默认的 SSH 私钥以用户身份快速登录到特定 VM。
创建文件
创建文件
```Bash
``` bash
touch ~/.ssh/config
```
编辑文件以添加新的 SSH 配置
编辑文件以添加新的 SSH 配置
```Bash
``` bash
nano ~/.ssh/config
```
添加适用于主机 VM 的配置设置。 在此示例中VM 名称(主机)为 myvm帐户名称用户azureuserIP 地址或 FQDN主机名为 192.168.0.255。
添加适用于主机 VM 的配置设置。 在此示例中VM 名称(主机)为 myvm帐户名称用户ubuntuIP 地址或 FQDN主机名为 192.168.0.255。
```Bash
# Azure Keys
``` linuxconfig
Host myvm
Hostname 192.168.0.255
User azureuser
# ./Azure Keys
HostName 192.168.0.255
Port 22
User ubuntu
IdentityFile ~/.ssh/<file name> # (1)
```
1. 此处填写密钥文件的绝对路径
可为其他主机添加配置,让每台主机使用其自己的专用密钥对。 查看 SSH 配置文件获取更多高级配置选项。
获得 SSH 密钥对和配置的 SSH 配置文件后,便可快速安全地远程访问 Linux VM。 运行以下命令时SSH 从 SSH 配置文件的 Host myvm 块中找到所有设置并加载它们。
获得 SSH 密钥对和配置的 SSH 配置文件后,便可快速安全地远程访问 Linux VM。 运行以下命令时SSH 从 SSH 配置文件的 Host `myvm` 块中找到所有设置并加载它们。
```Bash
``` bash
ssh myvm
```

View File

@ -4,7 +4,7 @@
限制资源配置字段为 `deploy.resources.limits`,以下是示例 docker-compose.yml
``` title="docker-compose.yml"
``` yaml title="docker-compose.yml"
version: '3'
services:
umami:
@ -33,7 +33,7 @@ services:
传入参数 `--compatibility` 表示以兼容模式来运行
```bash
``` bash
docker compose --compatibility up -d
```

View File

@ -6,19 +6,20 @@
输入以下命令来覆盖本地文件:
```sh
``` sh
git fetch --all
git reset --hard <remote>/<branch_name>
```
例如:
```sh
``` sh
git fetch --all
git reset --hard origin/main
```
!!! info
> 不论是否使用 --hard 选项,所有尚未推送的本地提交都将丢失。
不论是否使用 --hard 选项,所有尚未推送的本地提交都将丢失。
## 命令详解

View File

@ -21,9 +21,11 @@
- hanwckf: `0HC5661_3.4.3.9-099.trx`
- chongshengB: `T1HC5661_3.4.3.9-099.trx`
> Default gateway: 192.168.1.1
> Username: admin
> Password: admin
!!! info
默认管理地址: 192.168.1.1
用户名: admin
密码: admin
[下载](https://www.right.com.cn/forum/thread-8250681-1-1.html)

View File

@ -4,7 +4,7 @@
在开始之前,我们可以检查系统是否已经有可用的交换空间。
```bash
``` bash
sudo swapon --show
```
@ -19,7 +19,7 @@ NAME TYPE SIZE USED PRIO
你可以使用 `free` 来验证是否存在活动交换空间:
```bash
``` bash
free -h
```
@ -47,13 +47,13 @@ Swap: 0B 0B 0B
我们将在本指南中创建一个 8G 的交换文件,请根据自己服务器的需要进行调整:
```bash
``` bash
sudo fallocate -l 8G /swapfile
```
验证一下是否预留了正确的空间:
```bash
``` bash
ls -lh /swapfile
```
@ -67,13 +67,13 @@ ls -lh /swapfile
这样,普通用户就无法访问该文件,否则会产生重大安全隐患。
```bash
``` bash
sudo chmod 600 /swapfile
```
验证权限更改:
```bash
``` bash
ls -lh /swapfile
```
@ -83,7 +83,7 @@ ls -lh /swapfile
现在,我们可以输入以下命令将刚刚创建的文件标记为交换文件:
```bash
``` bash
sudo mkswap /swapfile
```
@ -94,7 +94,7 @@ no label, UUID=6e965805-2ab9-450f-aed6-577e74089dbf
标记交换文件后,我们可以启用交换文件,让我们启用它:
```bash
``` bash
sudo swapon /swapfile
```
@ -113,13 +113,13 @@ NAME TYPE SIZE USED PRIO
备份 `/etc/fstab` 文件,以防出错:
```bash
``` bash
sudo cp /etc/fstab /etc/fstab.bak
```
将 swap 记录添加到 `/etc/fstab` 文件末尾:
```bash
``` bash
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
```
@ -139,7 +139,7 @@ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
我们可以通过以下命令来查看当前的 `swappiness` 值:
```bash
``` bash
cat /proc/sys/vm/swappiness
```
@ -153,7 +153,7 @@ cat /proc/sys/vm/swappiness
例如,要将 `swappiness` 参数设置为 10我们可以输入
```bash
``` bash
sudo sysctl vm.swappiness=10
```
@ -163,7 +163,7 @@ vm.swappiness = 10
以上设置仅在本次会话有效,因此我们可以在 `/etc/sysctl.conf` 文件中添加这一行,在重启时自动设置该值:
```bash
``` bash
sudo nano /etc/sysctl.conf
```
@ -181,7 +181,7 @@ vm.swappiness=10
你可以通过再次查询 `proc` 文件系统来查看当前值:
```bash
``` bash
cat /proc/sys/vm/vfs_cache_pressure
```
@ -193,7 +193,7 @@ cat /proc/sys/vm/vfs_cache_pressure
我们可以将其设置为更保守的值,比如 50只需输入
```bash
``` bash
sudo sysctl vm.vfs_cache_pressure=50
```
@ -203,7 +203,7 @@ vm.vfs_cache_pressure = 50
同样,这只对当前会话有效。我们可以将其添加到配置文件中进行更改,就像刚才的设置一样:
```bash
``` bash
sudo nano /etc/sysctl.conf
```

View File

@ -6,19 +6,17 @@
我们将通过创建一个 Python 虚拟环境以安装 Material for MkDocs。
```bash
``` bash
sudo apt -y install python3 python3-full python3-pip python3.12-venv
python3 -m venv <path>
python3 -m venv <path> # (1)
<path>/pip install --upgrade pip setuptools
<path>/pip install mkdocs-material
```
!!! warning "注意"
以上命令中的 `<path>` 请替换为 MkDocs 安装目录的绝对路径。
1. 本文所有命令中的 `<path>` 请替换为 MkDocs 安装目录的绝对路径。
这将自动安装所有依赖项的兼容版本: MkDocs、Markdown、Pygments 和 Python Markdown 扩展。
@ -30,7 +28,7 @@ python3 -m venv <path>
切换到你希望项目所在的目录,然后输入:
```bash
``` bash
<path>/mkdocs new .
```
@ -40,7 +38,7 @@ python3 -m venv <path>
下面提供我的配置文件,供大家参考:
```yaml title="mkdocs.yml"
``` yaml title="mkdocs.yml"
site_name: "Cat Tom's Blog" # 站点名称
site_url: https://blog.cattom.site # 站点链接
site_author: Cat Tom # 作者
@ -141,7 +139,7 @@ plugins:
编辑完成后,您可以使用 Markdown 文件构建静态网站:
```bash
``` bash
<path>/mkdocs build
```

View File

@ -6,8 +6,8 @@
## 准备
- Android 调试桥 (adb): [Download](https://developer.android.com/studio/releases/platform-tools?hl=zh-cn)
- Google USB Driver: [Download](https://developer.android.com/studio/run/win-usb)
- Android 调试桥 (adb): [下载](https://developer.android.com/studio/releases/platform-tools?hl=zh-cn)
- Google USB Driver: [下载](https://developer.android.com/studio/run/win-usb)
- USB 2.0 接口
!!! tip
@ -61,7 +61,7 @@
!!! info
adb 驱动安装基本与本教程相同,最后选择 `Android Composite ADB Interface` 即可
adb 驱动安装基本与以上流程相同,最后选择 `Android Composite ADB Interface` 即可
## 刷入官方固件/救砖 - Fastboot 线刷
@ -80,20 +80,20 @@
## 刷入第三方 Recovery
- 进入 Fastboot: 音量减 + 电源
- [Download](https://down.warbler.cc/XiaoMi-6/Recovery/Twrp/12)
- [下载第三方 Recovery](https://down.warbler.cc/XiaoMi-6/Recovery/Twrp/12)
- 在 adb 所在目录启动 Terminal
- 执行
```powershell
.\fastboot flash recovery <path>\(A14)TWRP-3.7.1-android_12.0.img
```
``` powershell
.\fastboot flash recovery <path>\(A14)TWRP-3.7.1-android_12.0.img
```
- 进入 Recovery: 音量加 + 电源
## 刷入第三方 ROM: LineageOS 21
- 进入 Recovery: 音量加 + 电源
- 清除以下内容
- 清除以下内容
* Dalvik / ART 缓存
* Cache

View File

@ -26,20 +26,21 @@
## 刷入第三方 Recovery
- 进入 Fastboot: 音量减 + 电源
- [Download](https://sourceforge.net/projects/jabiyeff-build/files/Recovery/)
推荐 `OrangeFox-R11.1_5-santoni-27.02.22`
- [下载第三方 Recovery](https://sourceforge.net/projects/jabiyeff-build/files/Recovery/),推荐 `OrangeFox-R11.1_5-santoni-27.02.22`
- 解压
- 在 adb 所在目录启动 Terminal
- 执行
```powershell
.\fastboot flash recovery <real path>\OrangeFox-R11.1_5-santoni-27.02.22\recovery.img
```
- 执行
``` powershell
.\fastboot flash recovery <real path>\OrangeFox-R11.1_5-santoni-27.02.22\recovery.img
```
- 进入 Recovery:音量加 + 电源
## 刷入第三方 ROM: VoltageOS 13
- 进入 Recovery:音量加 + 电源
- 清除以下内容
- 进入 Recovery: 音量加 + 电源
- 清除以下内容
* Dalvik / ART 缓存
* Cache
@ -47,7 +48,7 @@
* Vendor
* Data {==注意:记得格式化 Data 分区==}
- 刷入最新官方修补固件 (主要更新 BootLoader) [Download (注意选择国行)](https://xiaomifirmwareupdater.com/archive/firmware/santoni/)
- 刷入最新官方修补固件 (主要更新 BootLoader): [下载 (注意选择国行)](https://xiaomifirmwareupdater.com/archive/firmware/santoni/)
- 刷入 VoltageOS + {==Gapps (本地备份)==}
- 清除 Dalvik / ART 缓存, Cache & Data {==注意:记得格式化 Data 分区==}
- 重启