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

@ -6,97 +6,73 @@ hide:
## Admonitions
<!-- md:option type:note -->
: !!! note
!!! note
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:abstract -->
: !!! abstract
!!! abstract
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:info -->
: !!! info
!!! info
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:tip -->
: !!! tip
!!! tip
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:success -->
: !!! success
!!! success
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:question -->
: !!! question
!!! question
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:warning -->
: !!! warning
!!! warning
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:failure -->
: !!! failure
!!! failure
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:danger -->
: !!! danger
!!! danger
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:bug -->
: !!! bug
!!! bug
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:example -->
: !!! example
!!! example
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
purus auctor massa, nec semper lorem quam in massa.
<!-- md:option type:quote -->
: !!! quote
!!! quote
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo

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 分区==}
- 重启