2023年3月

以前也有很多无聊的小鬼喜欢对着我的站点舞弄他胯下的那根牙签,最无聊的那些还在我的站点日志里刷针对thinkphp或者/backup.zip之类搞笑的请求,难得有个比较务实一些所以记录下来。
相关的漏洞,稍微限制下字符串长度就能临时缓解,不过我的博客数据是自动备份的,丢不了所以懒得搭理这些无聊的小鬼。各位看戏就行。

- 阅读剩余部分 -

新硬盘和硬盘盒

如题,花了409购买了一块致态m.2 NVME. ITGZ硬盘盒花了69.

设备状态描述:

我的ThinkpadE14Gen3上有两个槽位,2230插着SN530 256G, 2280插着CUSO 250G
其中Windows10和Debian 的EFI文件都在SN530上,迁移时由于我的疏忽导致Debian的EFI文件丢失。

最终迁移过程

冗长的多次试错过程不再提及,只记录有参考价值的有效操作。
  1. 借助硬盘盒全盘克隆CUSO250G到TP5000并拆机替换
  2. 开机启动进入Grub2 command界面
  3. 使用ls命令查清Linux根分区所在硬件代号: (hd1,gpt2),注意善用TAB自动补全
    执行 set root=(hd1,gpt2)
  4. 使用cat命令查看/etc/fstab内容,得到根分区挂载路径:/dev/nvme1n1p2
  5. 查清boot分区内的待启动的vmlinuz文件路径,由于我的整个发行版都处于同一分区,故路径为/boot/vmlinuz-5.18.xxxx
    执行 linux /boot/vmlinuz-5.18.xxxx root=/dev/nvme1n1p2
  6. 查清待启动的initrd img路径(同在boot分区内)
    执行 initrd /boot/initrd.img-5.18.xxxx
  7. 通过grub启动,执行boot启动我的克隆来的Debian
  8. 重装grub引导
    sudo grub-install /dev/nvme1n1 #注意,此处为我的新硬盘设备顺序代号,不要填写具体的分区代号
    如果提示/usr/xxxx缺少相关文件,执行 apt reinstall grub2
    由于过去我使用SN530里的EFI分区,更换引导分区到新硬盘后应修改/etc/fstab里的/boot/efi分区对应UUID
    9.生成新的grub.cfg
    grub-mkconfig -o /boot/grub/grub.cfg
    最后sudo update-grub更新grub配置。

    双系统用户注意,如果输出内容没有看到你的WIndows引导,请自查是否启用os-prober.
    参见:从Debian11 bullseye切换到Debian12 bookworm
  9. sudo reboot 查看grub2引导界面各项目是否正常可用。

尾声

cnblog有文章提到refind引导程序的使用,如有兴趣请自行查看。
一次修复linux的efi引导的集中方法总结记录

官方提到下载安装密钥的指令是:

sudo wget -nc -O /usr/share/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key

但是你apt update会得到这样的错误:

错误:5 https://dl.winehq.org/wine-builds/debian bookworm InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY 76F1A20FF987672F 正在读取软件包列表... 完成W: GPG
错误:https://dl.winehq.org/wine-builds/debian bookworm InRelease:
由于没有公钥,无法验证下列签名: NO_PUBKEY 76F1A20FF987672F E: 仓库“https://dl.winehq.org/wine-builds/debian bookworm InRelease”
没有数字签名。N: 无法安全地用该源进行更新,所以默认禁用该源。N: 参见 apt-secure(8)
手册以了解仓库创建和用户配置方面的细节。

最开始我没注意密钥路径不对,接着就习惯性

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 76F1A20FF987672F

但是问题依旧,倒着往上查操作,在查看/etc/apt/sources.list.d/winehq-bookworm.sources的时候发现
最后一行分明写的是:Signed-By: /etc/apt/keyrings/winehq-archive.key
那你密钥干嘛让我装到/usr/share/keyrings/winehq-archive.key ???
所以先手动移动过去。
mv /usr/share/keyrings/winehq-archive.key /etc/apt/keyrings/winehq-archive.key

这个问题也被一些国内的镜像站点给抄过去了。比如清华的镜像源,不过截至发稿时间,清华源还没有同步Debian12的wine-build,可能得等到第二季度 Debian12正式发布以后了。
给管理员发了邮件申请改改wiki,目前尚未回复。

2023年11月27日:
看了看发现WineHQ依旧没改中文Wiki,清华源的也依然没变化。
我查看了https://wiki.winehq.org/Download_zhcn上面存在的维护者名字,中文写的维护者是无,所以我再次发了一封邮件,这次发给了一位非中文的维护者Rosanne DiMesio。如果收到回复我会继续在文章后面更新,或者有必要的话我尝试去申请一下作为Wiki的中文维护者。(话说上次发给web-admin@winehq.org的邮件都是三月份的事情了,现在都11月了也没人回我,真够无语的)
2023年12月30日:
评论区有网友提醒WineHQ WIki中文页面已经在10 December 2023, at 14:57修正了这个问题。
感谢 jkfloris提供的帮助,事实证明在Wine论坛发帖子比发邮件管用多了😀
2023-12-30T01:29:32.png
不过令人遗憾的是TUNA还没来得及改,也在邮件列表发了帖子,希望早点获得修正。
按照评论的提示,这个问题确实不会发生在清华的镜像站上。(前提是一开始就全程按照镜像站的提示操作)
我回忆了一下当初的操作,有相当多的人应该是先用了WineHQ官方的源发现下的很慢或者干脆直接被运营商阻断了连接再跑去用的镜像。但是镜像用的路径不是照着官方sources文件而是自己新建了个winehq.sources。
如果和我同样先用了官方的源再尝试用镜像,/etc/apt/sources.list.d路径下应该存在一个winehq-bookworm.sources

Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/
Suites: bookworm
Components: main
Architectures: amd64 i386
Signed-By: /etc/apt/keyrings/winehq-archive.key

这里Signed-By的路径应当按照实际密钥下载的路径写,不管是/etc还是/usr下都无所谓,我个人倾向于下载到官方sources里的写的/etc/apt/keyrings/winehq-archive.key。
评论区说被清华坑了一道是不正确的,准确来说这是被WineHQ的中文旧文档坑了一道。

包括之前的2.1.1~,均无法在Debian12 KDE上运行,扫码后无反应,无法正常登录。
顺带一提,微信仍然会向/etc拉屎,特别明显的就是会修改:/etc/lsb-release为以下内容:
DISTRIB_ID=Kylin
DISTRIB_RELEASE=V10
DISTRIB_CODENAME=kylin
DISTRIB_DESCRIPTION="Kylin V10 SP1"
DISTRIB_KYLIN_RELEASE=V10
DISTRIB_VERSION_TYPE=enterprise
DISTRIB_VERSION_MODE=normal
看上去是银河麒麟的标识。
很无语,国内专有软件一般不会尊重用户。国外的也半斤八两,不过没国内这么嚣张罢了。

顺带一提,卸载的时候会出现缺少文件的错误,重装再卸载也不能解决问题。
sudo rm -rf /var/lib/dpkg/info/weixin
sudo rm -rf /usr/bin/weixin
sudo apt autoremove
即可.

没事别下载国产垃圾专有软件,省得给自己找事干。

xfox@ThinkPadE14Gen3:~$ cd /etc/apt/sources.list.d
xfox@ThinkPadE14Gen3:/etc/apt/sources.list.d$ ls
tailscale.list vscode.list vscode.list.save
xfox@ThinkPadE14Gen3:/etc/apt/sources.list.d$ rm tailscale.list
rm: 是否删除有写保护的普通文件 'tailscale.list'?y
rm: 无法删除 'tailscale.list': 权限不够xfox@ThinkPadE14Gen3:/etc/apt/sources.list.d$ sudo rm tailscale.list
[sudo] xfox 的密码:xfox@ThinkPadE14Gen3:/etc/apt/sources.list.d$

n2n使我快乐,而tailscale的PPA总是在更新apt cache的时候恶心我;)那就给我爬!

今天很开心,不止是因为班里最爱哭的孩子哭的少了。
也因为过节沾光收到了一束花和半天假期,花儿插在了班里的玻璃花瓶,除此之外还有一个带勺子和盖子的马克杯。