ZHYQ118

一个太过正常的人的自白

因为一加Ace3切换成OxygenOS后会伴随有信号丢失的问题 ,解决办法就是刷ocdt分区和oplusstanvbk分区,但是这个也不是一劳永逸的方法,每次ota后都要重新操作一遍,为了方便自己使用,特在此记录。

恢复信号

1
2
3
adb reboot fastboot
fastboot flash ocdt ocdt.img
fastboot flash --slot=all oplusstanvbk oplusstanvbk.img

这里面的ocdt.img和oplusstanvbk.img是自己在买回新机后备份的原ColorOS系统的分区,一直保留使用,据说这个是和自己的手机绑定的,所以使用别人的,以及其它版本的不知道是否可行。

Root

现在使用APatch进行root,虽然从Apr 4, 2024已经没有再进行更新了,但截止到目前依然可用,目前最新版本的oos为CPH2609_15.0.0.400(EX01) 。使用它的原因是感觉比Magisk好用,内核级别的root,不容易被检测到。第一次安装刷入的步骤不难,也不是自己的目的,升级后进行的操作步骤如下:

获取boot镜像文件

  • 1、下载全量包,可通过oxygen Updater 获得
  • 2、解包
    • 通过解压软件获取payload.bin 文件
    • 通过payload dumper 获取boot.img文件

修补镜像

将获取到的原系统boot.img传输到手机,打开APatch,点击右上角手机图标,选择选择一个启动镜像并修补 ,找到文件,选择进行修补,之后修补好的文件会被保存到download文件夹,名称类似于apatch_patched_10763_0.10.7_prob.img

刷入修补后的boot文件

将修补后的apatch_patched_10763_0.10.7_prob.img传到电脑,在相应文件夹内打开终端,输入

1
2
adb reboot bootloader
fastboot flash boot xxx_boot.img

完成

补充:

在oos14时代,可能是内核版本没变,一次修补好的boot文件连续用了好几次,升级后直接刷入,免除了解包的麻烦。

但在oos15时代,不知道什么原因,第一次大版本升级后修补的boot镜像,直接用在后面的小版本OTA后都导致了无法进入系统的问题,所以,还是不要偷懒,每次都解包重新修补比较保险。

当然,出现无法启动的问题后,只需要刷入原版boot.img即可重新开机。

附:Linux环境下payload dumper使用方法

系统要求

  • Python3, pip
  • google protobuf for python pip install protobuf

准备工作

  • 1、git clone https://github.com/vm03/payload_dumper.git
  • 2、在payload dumper 目录下
    1
    python -m pip install -r requirements.txt
    这里要注意,如果不能安装,要进入python虚拟环境,方法在这一篇 ,这一点至关重要,我在这里花费了不少时间。

全量包解包

1
python payload_dumper.py payload.bin

python虚拟环境

一、安装虚拟环境包

在使用虚拟环境之前,首先需要安装虚拟环境管理工具。Python提供了多种工具来创建虚拟环境,最常用的是venv和virtualenv。

  • 安装venv
    Python 3.3及以上版本自带venv模块,因此无需额外安装。只需确保Python版本符合要求。
  • 安装virtualenv
    对于Python 2或者需要额外功能,可以选择安装virtualenv。使用以下命令安装virtualenv:
    1
    pip install virtualenv

二、创建虚拟环境

  • 使用venv创建虚拟环境
    在命令行中导航到项目目录,然后使用以下命令创建虚拟环境:
    1
    python -m venv myenv
    其中myenv是虚拟环境的名称,可以根据需要更改。
  • 使用virtualenv创建虚拟环境
    同样,在项目目录下,使用以下命令创建虚拟环境:
    1
    virtualenv myenv

三、激活虚拟环境

在Unix或MacOS上激活

1
source myenv/bin/activate

四、在虚拟环境中安装和管理包

激活虚拟环境后,所有的包安装和管理操作都会在该虚拟环境中进行,而不会影响全局的Python环境。

1. 安装包

例如,安装requests库:

1
pip install requests

2、查看已安装包

1
pip list

3、退出虚拟环境

1
deactivate

五、在项目中使用虚拟环境

1. 项目文件结构

建议将虚拟环境目录排除在版本控制之外(例如Git),可以在项目根目录中创建一个.gitignore文件并添加以下内容:

myenv/

2. 使用requirements.txt管理依赖

在项目开发中,可以使用requirements.txt文件来管理依赖。在虚拟环境中,生成requirements.txt文件:

1
pip freeze > requirements.txt

在新的环境中,可以使用以下命令安装所有依赖:

1
pip install -r requirements.txt

六、其它

1、包冲突问题

在虚拟环境中安装包时,可能会遇到包冲突问题。可以使用pipdeptree工具查看包依赖关系,并解决冲突:

1
2
pip install pipdeptree
pipdeptree

2、使用不同版本的Python

可以在创建虚拟环境时指定Python版本。例如,使用Python 3.8创建虚拟环境:

1
virtualenv -p python3.8 myenv

3、使用venv和virtualenv同时管理多个项目

可以在不同的项目中使用不同的虚拟环境,以便独立管理各个项目的依赖关系。

获取docker镜像

拉取homeassistant最新docker镜像
终端登入执行以下命令

docker pull homeassistant/home-assistant:latest

创建docker容器

创建homeassistant的docker容器
点击Docker>容器菜单,然后 点击添加按钮

点击 命令行 按钮

在弹出的弹窗中 准备输入以下代码

docker run -d --name="hass" -v 你的挂载点/hassistant:/config -p 8123:8123 homeassistant/home-assistant:latest

挂在点在 openwrt>系统>挂载点 查看,就是结尾带docker字样的那个

由此最终得出 弹窗中需要输入的命令行 即为

docker run -d --name="hass" -v /mnt/mmcblk2p4/docker/hassistant:/config -p 8123:8123 homeassistant/home-assistant:latest

然后在创建docker容器处,配置以下两项:

  • docker镜像:选择homeassistant/home-assistant:latest
  • 网络:选择host | host

启动docker容器

找到容器,点击启动,稍微等待一会儿

最后在浏览器 输入你的http://软路由IP地址:8123 就可以登录homeassistant后台

安装hacs

到现在为止,我们的Home Assistant系统已经安装完毕并正常运行了,但它仍然是一个空壳子。本质上,现在的Home Assistant,就相当于刚刚买回来的手机或者笔记本电脑,只有操作系统,还需要安装各种软件(应用/App),才能够真正满足日常使用需求。
HACS(Home Assistant Community Store,HA社区商店) 是一个应用商店,我们推荐安装!

网上找到的教程基本都是针对国内访问优化过的商店,不放心,我找到了官方原版,安装步骤也很详细,姑且复制过来。
官方地址
1、进入终端
2、进入容器:

docker exec -it <name of container running homeassistant> bash

上面创建的容器名称为hass,所以最终命令应为

docker exec -it hass bash

3、下载运行bash脚本

wget -O - https://get.hacs.xyz | bash -

4、重启homeassistant

最后你的homeassistant的左侧就多出了 hacs 的菜单,就可以使用了。

保存备用
netsh int ip reset
netsh winsock reset
ipconfig /flushdns

git安装

debian系

sudo apt install git

arch linux

sudo pacman -S git

macos

brew install git

设置git

设置提交用户名

git config --global user.name "Mona Lisa"

设置提交电子邮件

git config --global user.email "YOUR_EMAIL"

验证一下

git config --global user.name
git config --global user.email

设置GitHub

现在github已不能使用传统token的方式验证,网上大部分教程已失效,可采用官方推荐的gh(GitHub CLI)方式验证自己的账户。

安装gh

macos

brew install gh

debian系

1
2
3
4
5
6
type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y

arch linux

sudo pacman -S github-cli

验证账户

gh auth login

一直下一步即可完成账户验证。

本篇内容纯粹为了个人安装方便,并非完整的安装教程。因为太喜欢装系统,所以hexo也要不断安装,写下这篇之后希望可以加速安装时间,不用再到处查看文档。

Hexo安装

安装Node.js

Linux(DEB/RPM-based):从 NodeSource 安装

Ubuntu:

1
2
curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - &&\
sudo apt install -y nodejs

Arch Linux

sudo pacman -S nodejs
sudo pacman -S npm

安装git

Ubuntu

1
sudo apt install git

安装Hexo

1
npm install -g hexo-cli

建立网站

1
2
3
hexo init <folder> #建立文件夹并初始化
cd <folder>
npm install

新建文件夹目录如下

1
2
3
4
5
6
7
8
.  
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

如果非首次安装,在之前备份的文件内,把scaffoldspublic文件夹、_config.yml_config.next.yml文件拷贝到新建立的网站文件夹内相应位置。

配置

_config.yml中修改网站配置

_config.next.yml中配置next主题

next主题安装及配置

安装

1
2
cd hexo-site
npm install hexo-theme-next

安装后,在系统配置文件_config.yml中设置

1
theme: next

配置

next官方现不推荐在主题目录下修改任何文件,目的是为了方便升级,这种做法很好。那么,现在需要复制一份配置文件进行编辑,根据官方文档 ,有多种方式,我选择第一种,方式如下:

1、在根目录创建一个配置文件
1
touch _config.next.yml
2、从主题目录复制配置文件到根目录
1
2
# Installed through npm
cp node_modules/hexo-theme-next/_config.yml _config.next.yml

我至今不明白此处第一步意义何在,因为第二步复制的同名文件会直接覆盖第一步建立的空文件。

然后,所有的配置都在复制到根目录的这个_config.next.yml中进行。

实际上,具体的配置文件可以直接复制之前备份的那个文件,通用。但是,因为有些依赖没有安装,所以导致运行hexo g 的时候总是报错,这也正是我写这篇纪录最大的原因。

个人使用的第三方插件需要安装这几个依赖:

字数统计显示(Post Wordcount)

Install hexo-word-counter by executing the following command in site root dir:

1
2
npm install hexo-word-counter  
hexo clean

然后在_config.next.yml 中把相应参数设置为 true
此处还需要在hexo配置文件_config.yml 中做相应设置,个人配置如下:

1
2
3
4
5
6
7
8
9
symbols_count_time:
symbols: true
time: true
total_symbols: true
total_time: true
exclude_codeblock: false
awl: 3
wpm: 275
suffix: "mins."

Install hexo-related-posts by executing the following command in site root dir:

1
2
npm install hexo-related-posts  
hexo clean

本地搜索(Local Search

Install hexo-generator-searchdb by executing the following command in site root dir:

1
npm install hexo-generator-searchdb

根据官方文档在hexo配置文件和next配置文件中做相应设置

上传到GitHub的补充设置

前面在安装好已经设置好git和GitHub,需要注意现在GitHub授权不要用token方式,太麻烦,可以直接采用GitHub CLI的方式进行认证。

想要使hexo d 成功运行,需要

1、在`_config.yml` 中添加以下内容
1
2
3
4
deploy: 
type: 'git'
repo: 'url'
branch: 'master'
2、安装相应插件
1
npm install hexo-deployer-git --save

有需要再完善。

安装配置中文输入法的方法如下:

首先安装fcitx5和fcitx5-pinyin:

apt-get install fcitx5 fcitx5-pinyin

接着在im-config(input method)中激活fcitx5作为输入方式。

打开fcitx5-configure,配置拼音输入法:

在右侧搜pinyin,然后添加到左边

然后用ctrl+space切换输入法,shift切换中英。

apt install firmware-iwlwifi

原文链接

Debian 11 Linux(bullseye) 可用的国内镜像源

Debian 默认的软件源在国外,使用默认源安装软件速度感人,浪费大量不必要的等待时间。所以在安装完 Deiban 系统后的首要事情就是更换为国内的镜像源,能显著提高软件安装和系统更新速度。本文收集了 8 个能用的 Debian 国内镜像源以供选择。

如果不熟悉 Debian 镜像源的使用和配置,请直接翻到最后。文末提供了手动和命令式的两种镜像源配置方式。

可用的国内源

由阿里云提供的 Debian 镜像源:

1
2
3
4
5
6
7
8
deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb https://mirrors.aliyun.com/debian-security/ bullseye-security main
deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main
deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib

由腾讯提供的 Debian 镜像源:

1
2
3
4
5
6
7
8
deb https://mirrors.tencent.com/debian/ bullseye main non-free contrib
deb-src https://mirrors.tencent.com/debian/ bullseye main non-free contrib
deb https://mirrors.tencent.com/debian-security/ bullseye-security main
deb-src https://mirrors.tencent.com/debian-security/ bullseye-security main
deb https://mirrors.tencent.com/debian/ bullseye-updates main non-free contrib
deb-src https://mirrors.tencent.com/debian/ bullseye-updates main non-free contrib
deb https://mirrors.tencent.com/debian/ bullseye-backports main non-free contrib
deb-src https://mirrors.tencent.com/debian/ bullseye-backports main non-free contrib

由北京清华大学提供的 Debian 镜像源:

1
2
3
4
5
6
7
8
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

由中国科学技术大学提供的 Debian 镜像源:

1
2
3
4
5
6
deb http://mirrors.ustc.edu.cn/debian bullseye main contrib non-free
deb-src http://mirrors.ustc.edu.cn/debian bullseye main contrib non-free
deb http://mirrors.ustc.edu.cn/debian bullseye-updates main contrib non-free
deb-src http://mirrors.ustc.edu.cn/debian bullseye-updates main contrib non-free
deb http://mirrors.ustc.edu.cn/debian bullseye-proposed-updates main contrib non-free
deb-src http://mirrors.ustc.edu.cn/debian bullseye-proposed-updates main contrib non-free

由上海交通大学提供的 Debian 镜像源:

1
2
3
4
5
6
deb http://mirrors.sjtu.edu.cn/debian bullseye main contrib non-free
deb-src http://mirrors.sjtu.edu.cn/debian bullseye main contrib non-free
deb http://mirrors.sjtu.edu.cn/debian bullseye-updates main contrib non-free
deb-src http://mirrors.sjtu.edu.cn/debian bullseye-updates main contrib non-free
deb http://mirrors.sjtu.edu.cn/debian bullseye-proposed-updates main contrib non-free
deb-src http://mirrors.sjtu.edu.cn/debian bullseye-proposed-updates main contrib non-free

由北京外国语大学提供的 Debian 镜像源:

1
2
3
4
5
6
7
8
deb https://mirrors.bfsu.edu.cn/debian/ bullseye main contrib non-free
deb-src https://mirrors.bfsu.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.bfsu.edu.cn/debian/ bullseye-updates main contrib non-free
deb-src https://mirrors.bfsu.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.bfsu.edu.cn/debian/ bullseye-backports main contrib non-free
deb-src https://mirrors.bfsu.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.bfsu.edu.cn/debian-security bullseye-security main contrib non-free
deb-src https://mirrors.bfsu.edu.cn/debian-security bullseye-security main contrib non-free

由华为提供的 Deiban 镜像源:

1
2
3
4
5
6
7
8
deb https://mirrors.huaweicloud.com/debian/ bullseye main non-free contrib
deb-src https://mirrors.huaweicloud.com/debian/ bullseye main non-free contrib
deb https://mirrors.huaweicloud.com/debian-security/ bullseye-security main
deb-src https://mirrors.huaweicloud.com/debian-security/ bullseye-security main
deb https://mirrors.huaweicloud.com/debian/ bullseye-updates main non-free contrib
deb-src https://mirrors.huaweicloud.com/debian/ bullseye-updates main non-free contrib
deb https://mirrors.huaweicloud.com/debian/ bullseye-backports main non-free contrib
deb-src https://mirrors.huaweicloud.com/debian/ bullseye-backports main non-free contrib

由网易提供的 Debian 镜像源:

1
2
3
4
5
6
7
8
deb https://mirrors.163.com/debian/ bullseye main non-free contrib
deb-src https://mirrors.163.com/debian/ bullseye main non-free contrib
deb https://mirrors.163.com/debian-security/ bullseye-security main
deb-src https://mirrors.163.com/debian-security/ bullseye-security main
deb https://mirrors.163.com/debian/ bullseye-updates main non-free contrib
deb-src https://mirrors.163.com/debian/ bullseye-updates main non-free contrib
deb https://mirrors.163.com/debian/ bullseye-backports main non-free contrib
deb-src https://mirrors.163.com/debian/ bullseye-backports main non-free contrib

手动更换镜像源

手动更换 Debian 镜像源配置主要分为以下三步:

  1. 用熟悉的文本编辑器打开 /etc/apt/sources.list 文件(需要 sudo 权限),或是直接执行 sudo apt edit-sources 命令。
  2. 替换文件内容为上面任意一个镜像站的源配置代码并保存。
  3. 运行 sudo apt-get update 命令更新软件索引。

命令更换镜像源

使用命令替换镜像源更为快捷。比如在没有更换过数据源的情况下,要使用阿里云的 Debian 镜像源:

1
sudo sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list

这样就完成了默认源到阿里云镜像源的配置。接下来同样需要执行一下 sudo apt-get update 命令更新软件索引。

上面这个命令的原理在镜像源的地址上。不同的镜像源通常只是域名有所区别,其他部分大致类似。所以之需要通过 sed 命令来修改 /etc/apt/sources.list 这个源配置文件中的域名地址就足够了。

但这意味着使用这个命令方式修改镜像源的配置时需要格外注意。如果输入的匹配地址或替换地址有误,有可能不会生效,或是导致镜像源异常。遇到这种情况,可以选择上面手动更换镜像源的方式来解决。

针对“普通用户提示用户名不在sudoers文件中,此事将被报告“,如此解决:

解决办法:

  1. 终端输入 su 回车,输入 root 密码,回车,切换到 root 用户
  2. 打开 sudoers 文件:vi /etc/sudoers
  3. 找到 # Allow members of group sudo to execute any command,在 %sudo ALL=(ALL:ALL) ALL 下面添加 xxx ALL=(ALL:ALL) ALL,xxx 为前面无法执行 sudo 命令的用户名

vi 给 sudoers 添加内容方法:

  1. 光标移动到指定位置,按 i 键当前光标位置插入
  2. 输入内容
  3. ESC
  4. 输入 :wq! 回车,因为 sudoers 是只读文件,所以要加 ! 强制保存。