记一次失败的从 Arch Linux 迁移到 Debian Sid 的经历

其实我从来没想好自己应该使用什么发行版,十多年前最开始使用 Arch Linux 也只是因为觉得大家都在使用 什么 Ubuntu 啊觉得自己可以特例独行一些,并没有深刻的体会到什么叫做 KISS,也没有体会到各种拆包粒度对于使用的影响,也一直只是“会用”而已,并没有太多作为用户之外的使用体验差距。就算是第二个使用的发行版是 openSUSE 也一样,因为某种程度上有类似的基因。 起因 闲的蛋痛。年初企图迁移到 Fedora 失败,仅仅过了5个小时就滚回了 Arch 。可能考虑到了 Debian Sid 的如下特性,打算这次外迁一定要迁移出去,去 Debian。 足够稳定 apt 的前端 nala,看上去很帅 周围用 Arch 的很多,向特立独行一点 复习时间之余闲的蛋痛 但是也考虑到一些区别,比如: 包管理器的整合性:debian 系素以混乱的包管理功能著称,dpkg、apt、apt-get、apt-file 软件包获取的难度:这也是为什么我一直非常抗拒使用 deb 系,你可以在软件官网上(比如 zotero),在 github release,在 makedeb ,在 pacstall,在 ppa…你能找出一百个不同的软件包来源,但是你没办法把他们整合(Debian CN repo 许久未变更了) 不知道的一些奇奇怪怪的特性 wiki,debian wiki 也就将将是能参考的程度 以上这些问题并没罗列全面,但是我曾经认为自己能够克服这些问题。虽然显然还是太高看自己了。 Arch Linux -> Debian 安装一个新的发行版是容易的,也没什么好说。但是考虑到年初 fedora 的惨痛经历,我打算还是给自己留个后路,方法可以有很多,rsync、或者整体dd、或者打个 tarball 什么的,之前有过尝试用 squashfs 备份系统的经验,而且打包后镜像体积特别小,也是很多发行版安装 CD 的首选方案。那就决定了。 首先备份根分区,需要排除掉所有额外挂载的分区和运行态的玩意儿: 1 sudo mksquashfs / backup-archlinux.squashfs -e /home -e /run -e /proc -e /dev -e /sys -e /tmp -e /var/tmp -e /mnt /boot/efi 直接把镜像扔到了外挂的 SSD 上面,体积也不大,150 G 根分区体积也就 27 G。然后下载了 Debian stable bookworm 的镜像,写盘,分区,安装…不一而足。...

九月 25, 2023 · 6 分钟 · weearc

记从 HEXO 迁移到 Hugo 安家之旅

过了生命周期的 nodejs 的玩具,那是真的蛋痛 ...

五月 8, 2023 · 1 分钟 · weearc

在Archlinux上启用外接设备唤醒

我的新伙伴,HP 暗影精灵7,因为N卡毕竟太好用了,而且可以支持独显直出,在外接屏幕了以后拿来当作“台式机”了。 ...

五月 7, 2023 · 2 分钟 · weearc

openwrt 随机 mac --- ip 地址重新分配

通常来讲是没有更换 MAC 的必要,但是偶尔被误伤的时候还是很有用的。 起因 手里多了一台服务器,目前部署在 IDC 中心,由于忘记某个服务的端口我遍采取了端口扫描的方式来查看暴露的端口进而判断服务位置,但是我校 IDS 系统比较厉害,不仅仅是没有扫到服务顺带着连我的 IP 到服务器的访问也一并切断了,因此我需要更换 IP 才能重新正常访问该服务器。但是由于一般使用硬件 MAC 因此对于 DHCP 服务器不会为我重新分配新的 IP 地址直到我上一个 IP 过期释放掉。然而释放的这个过程最长可达一年(我上一年度内网 IP 均未发生变更)。因此只能通过更换 MAC 使得 DHCP 服务器认为我是新的接入设备并重新分配可用 IP。 思路 一般来讲我可能会选用 Python 来实现更换 MAC 这个操作,但是受限于路由器本身,使用 Shell 脚本可能是更加经济实惠的选择。 初步思路是从 /dev/urandom 抓取随机数,取 md5sum 获取 16 进制格式然后再切分插入符号。类似如下形式: 1 echo `dd if=/dev/urandom bs=1 count=32 2>/dev/null | md5sum | cut -b 1-12 | sed 's/\(..\)/\1:/g; s/.$//'` 1 2 # result '21:29:25:69:ec:ad' 但是正如这条 stackoverflow 的讨论串所描述的那样,这样生成的 MAC 地址有概率无法使用,即最直观的感受是要求前两位地址必须为偶数。说白了,由于单播地址限制,首位地址为0x21时相当于映射到多播,但是由于单个硬件设备作为节点连接到网络时其使用单播方法,因此必须限制首位为偶数。即:...

十月 14, 2021 · 1 分钟 · weearc

通过 GITHUB Actions 部署博客---腾讯云 Cloudbase 踩坑2

九月 11, 2021 · 0 分钟 · weearc