小米8 刷第三方固件始末

  2018年5月31日,小米8发布会,被雷大善人忽悠了,于接下来的618给老婆买了年轻人第一部iPhone X——小米8。刚开始用着还行,后来摔了屏幕挂了,于是就换了别的手机。后来觉得扔了可惜,就买了个国产LCD屏换上,凑合当个备用机用。大下巴国产LCD不用说了,体验比原装屏幕差一大截,除此之外电池也不行了。装上王者荣耀也基本不能玩,各种画质选项都最低,刚进游戏还能55帧,一旦小规模团战,急剧降到不到30帧,不断提示取消高帧率模式,基本成幻灯片了。相比之下,不到半年之后发布的华为Mate20就要强太多了,刷上鸿蒙日常使用很ok,玩个王者也能全程流畅,稳定保持60帧。当年各种评测还说麒麟980 CPU比骁龙845强一点,GPU弱不少,现在(机器使用4年后)看来麒麟980全面碾压845哈。扯远了,小米8最新的稳定版固件MIUI12.5体积臃肿,性能堪忧,看到基安很多人说刷了类原生ROM后,机器相比MIUI流畅太多,于是就开始了曲折的刷第三方ROM过程。
  对于小米机器来说,要刷第三方rom,首先要解锁bootloader(简称bl),其次进入fastboot模式刷入recovery,然[……]

继续阅读 »

Windows Terminal 配置免密码SSH登录Linux

最近发现Windows Terminal配合WinSCP可以把之前的各类shell软件(包括putty、securecrt、xshell)干掉,经过配置Windows Terminal可以既漂亮又优雅的完成远程管理任务。
基本思路如下:
1、Windows10下生成ssh公钥和私钥
2、把ssh公钥上传到linux上去,并加进authorized_keys
具体操作步骤可以参考这里

需要注意linux下的.ssh目录和authorized_keys的权限问题,参考这里。[……]

继续阅读 »

Windows 10 LTSC 2021安装WSL Ubuntu账户问题

Windows 10 LTSC 2021下安装wsl,直接安装,在输入用户名界面看不到新建用户的提示,直接关掉,再打开就直接以默认root用户进了系统。还是习惯普通账户sudo方式,于是可以这样操作:

# 新建用户,这里以新建用户ubuntu为例,以下均为root用户登陆状态
adduser ubuntu
# 设置sudo用户组权限
usermod -aG sudo ubuntu
# 设定wsl的默认用户,这里以ubuntu22.04为例,别的版本以此类推,在windows下以管理员身份打开cmd
ubuntu2204 config --default-user ubuntu
#切换到新建的用户
su ubuntu
#测试ok后禁用root用户
sudo passwd -l root

[……]

继续阅读 »

Oracle 安装、配置局域网连接及其他

  1. 安装
    安装比较简单,Windows版可参考这篇,一般建议Server版Windows
  2. 配置局域网连接
    这里很多会遇到问题,最常见的是ORA-12514,建议的步骤如下:
    1)配置防火墙规则,新建入站规则,开放1521端口(默认)
    2)打开net manager,分别配置服务和监听程序,注意选择IP地址
    3)监听程序部分配置数据库服务(重点,很多ORA-12514错误出在这里),具体可参考这里
    4)打开服务,重启 OracleOraDb11g_home1TNSListener
  3. blob文件导出
    之前把图片啥的直接存到数据库里了,存的blob格式,可用pl/sql development客户端查询数据后直接查看导出(参考),如果用navicat的话可以直接在相应blob字段选择 保存数据为,并加上相应的扩展名,具体参考

[……]

继续阅读 »

Oracle 导入dump备份数据

这是实际使用的导入语句

impdp user/password DIRECTORY=dir1 DUMPFILE=export.DMP remap_SCHEMA=db_old:db_new

实际操作有以下注意点:
1. user/password 部分注意权限问题,最好使用dba权限用户,比如system,要不会报错
2. DIRECTORY=dir1需要注意先建好directory并授权完成,可参考上一篇
3. remap_SCHEMA这部分 导出的数据库名与导入的库名不一致需要这样remap(重新映射)一下;如果一致的话,直接换成SCHEMA=db_name即可

更多语法可参考这篇。[……]

继续阅读 »

Oracle 中的 Directory

  相比MySQL等其他的dbms,Directory是Oracle特有的。为啥要有Directory呢,个人理解简单的说就是文件系统路径的快捷方式,并在相应的系统表里存储。每个Directory与用户绑定,在其他与文件系统交互的场景下使用,比如expdp/impdp 数据导出导入。

基本操作如下:

# 查询现有的目录
select * from dba_directories;
# 创建目录
create or replace directory DIR1 as 'D:\data';
# 把刚刚创建的目录赋权(读写权限)给用户USER1
grant read,write on directory DIR1 to USER1;
# 删除目录
drop directory DIR1;

[……]

继续阅读 »

RouterOS 6.47+ DNS转发

关于6.47的DNS除了新增了DoH功能外,还增加了静态条目多种类型,

*) dns – added support for forwarding DNS queries of static entries to specific server;
*) dns – added support for multiple type static entries;

正好有需求,某些特定网站需要单独解析,配合静态路由设置,单独走特定VPN线路
配置DNS转发具体在ip dns static下,新增一条记录,type里选择FWD(转发),可以直接在name里写域名,或者在regexp里写正则表达式,比如*.baidu.com,在winbox里的Regexp里可以这样写:
. *\.baidu\.com
这样一来,相当于RouterOS原生提供了类似DNSmasq的功能,能够干很多事情
参考这篇[……]

继续阅读 »

Ubuntu14.04下硬盘UUID缺失问题解决

  上篇提到数据被误删恢复,这次还是那台机器(某Ubuntu14.04@VMware ESXi的虚拟机),数据备份好之后,需要配置fstab自动挂载,结果新盘硬是找不到UUID。参考这篇解决:

# 切换到root
sudo -i
# 生成uuid并写入
uuidgen | xargs tune2fs /dev/sdc1 -U
# 查看硬盘UUID
ls -l /dev/disk/by-uuid
# 或者
blkid
[……]

继续阅读 »

Ubuntu 14.04下恢复误删文件

  上一篇刚刚提到服务器升级了,想把某Ubuntu服务器的存储也升级成NVMe硬盘。按照之前的思路,新建一块NVMe数据磁盘上的虚拟盘,挂载到服务器上,挂载点设置在/home(之前已经扩容过一次,/home/对应的是一块500G虚拟磁盘),同时把数据备份一下。新盘挂到后,把数据由旧盘复制新盘上去。不知怎么样脑抽了一下,嫌速度慢,就停下来,并直接把复制一半的数据删除,执行rm -rf *,一看结果是在原数据目录执行的命令……

  搜索看如何恢复数据,最后按照这篇,利用extundelete基本恢复了数据。步骤如下:
1. 将旧盘安装到其他linux虚拟机上,并查看旧盘标识符
sudo fdisk -l
这里我的旧盘是sdb1
2. 下载安装恢复软件
sudo apt-get install extundelete
3. 执行恢复
extundelete --restore-all /dev/sdb1
执行起来比较耗费CPU和内存,建议找台性能强点的机器,恢复的文件在当前执行命令目录下的RECOVERED_FILES目录下[……]

继续阅读 »

VMWARE ESXi 5.5安装NVMe 硬盘驱动

  最近给某台老旧联想服务器(ThinkServer TD350)做了升级,先是把CPU由一块E5-2609 V3升级到两块E5-2680 V4,内存又加了64G,后来觉得存储性能还是有问题,主板提供了7条PCIE插槽,双路E5 PCIE通道又管够,打算上NVMe接口的固态盘。装上之后,BIOS可认,同时也可以设置作为启动设备。但遇到了一个问题,虚拟平台装的是ESXi 5.5,直接启动进入配置认不到硬盘。
研究了一下,ESXi 5.5太老,没有内置NVMe支持,需要手动装驱动之后就好了。
1. 准备工作
– 配置ESXi Shell和SSH,以便登录上去执行命令行。可参考这篇这篇;
– 下载驱动
这里下载驱动
2. 安装驱动
SSH连接ESXi后,利用SCP工具将VIB格式驱动文件上传到相应目录,或者直接将驱动文件上传到数据存储中(以datastore1为例,可在Shell下通过以下路径/vmfs/volumes/datastore1/访问)
在Shell里执行:
esxcli software vib install -v <路径>/nvme-1.0e.0.30-1v[......]

继续阅读 »