Show newer

今天办成了几件大事,把出生证明的申请交上去了,大概半年后(?)能收到我的出生证明!
把德国的医疗保险给停了!
把论文打印了,交给了图书馆,发表了,拿到了学位证书!
办出生证明的工作人员知道我现在搬到荷兰了之后问我我这趟过来不会是专门办出生证明的吧,我说没有哈哈我一天订了四个 appointments!

好怪啊,我平时不怎么吃辣的,但是自从拔了牙之后每天都在吃辣。。

升级 mastodon 受难记录 

还是记录一下昨天到现在发生的事吧,In case 其他站长像我一样无知且大胆,遇到类似困难状况可以参考。

事情起源于近期 utopia.cool 升级了 mastodon 版本(4.1.2 --> 4.1.3)。
4.1.3 版本修复了一些安全缺陷,其中包括禁用 ImageMagick 的较低版本(<6.9.7-7)。
而我站的服务器是 Ubuntu 18.04 版本,从官方apt源能获取到的最新 ImageMagick 也不满足此要求。所以我们的图像处理相关功能都出错了。(ImageMagick 问题详见官方的介绍:github.com/mastodon/mastodon/i

此时有几种解决方案,在18.04上自行编译一版 ImageMagick 也许可行。但为了避免未来有更多组件出现没有官方源更新的问题(Ubuntu 18.04 已经停止维护),我选择了升级 Ubuntu 到 20.04。

OK,噩梦开始了。

尽管我事先做了周密的备份,系统升级过程依然艰辛。
Ubuntu 升级前,要求所有可用的 apt 更新都已执行。所以我被迫执行了一次全局的软件更新——这导致 elasticsearch 升级到了插件无法支持的版本。所以本站的全局搜索功能挂了。(我后来通过手动降级 elasticsearch 解决了它)
然后,升级系统的过程把 PostgreSQL 从大版本 10 升级到了 12。系统升级完成后,PostgreSQL 要求执行数据集群迁移10 --> 12。
这个迁移是必须做的,psql 12 不保证能在 10 的数据库上正常工作。我借助 chatGPT 的帮助尝试执行迁移。却完全被这东西的编码格式困住了。无论把编码设置成什么,要么报错说跟旧版数据库编码不符,要么报错说缺乏支持 LATIN1 的编码。等于说新版跟旧版分别对一些方面进行了限制,而同时满足两边条件才能成功执行 pg_upgradecluster。最后我选择了放弃,直接把10版本的数据库 dump 出来,再用12来 pg_restore。也就是备份-->恢复这条路径。OK,这条路是走得通的。(虽然遇到一些问题,后面补充)

好,我们假设数据库的大问题已经解决了。当我尝试重新构建 Mastodon,发现整个 bundle 的依赖关系都坏掉了。由于此前安装的 bundler 没有按照 Ubuntu 的方式进行包管理,所以它没有被系统升级过程管理起来——系统的其他组件升级了,bundler没有。此时 bundle 执行任何命令都会报错,大部分是依赖错误、试图调用系统内某个动态链接库失败。
行吧,为了解决这个问题(和潜在的其他问题),我们需要按照官方教程从头安装 yarn 和 Ruby 和 Bundler,并把它们配置为正确的版本。

如果你像我一样愚蠢,安装新版时没有清理掉旧版残留的依赖包,问题就更大条啦,你会在执行 bundle exec rails assets:precompile 的时候被异常信息淹没。这是因为 bundle 并不会主动检查它此前下载的依赖包的完整性和正确性,而那些在旧系统内构建的包是无法在新系统内工作的。
如果你明确知道出问题的包是哪个,可以这样卸载它再重新安装:
bundle exec gem uninstall ffi
bundle exec gem install ffi
并且我尝试让 bundler 重新编译所有的依赖,来修复任何没被发现的问题:
bundle check
bundle pristine

假设上面提到的问题都解决了,你正确地构建出 mastodon,还是需要额外处理数据库的一些细节:
首先,你执行上面提到的任何数据库操作时都有必要确保 mastodon 相关的几个服务已经停止。否则数据不一致问题会困扰你。
其次,前面升级 PostgreSQL 时,它在原先的端口 5432 保留运行了旧集群 10 main,而你使用的新集群 12 main 可能工作在 5433 端口。你需要重新配置 mastodon 的 .env.production,修改里面的数据库端口,才能指向新集群。
另外,如果你像我一样选择导出、导入的路径来实现数据迁移,那这个过程中可能没有正确地给 mastodon 用户分配数据库权限。请在导出前确认好它所需的权限,并在导入后把缺失的加回来。当然,如果你选的是 dump_all,可能权限配置也一起导出了,根据自己情况处理。
然后,在导入数据库到 12 main 时,实际上报了几个错,是关于 unique index 的,某些索引在建立时发现了重复的 key,导致建立失败了。这个问题不会中断导入,所以你的数据暂时是完整的。但是缺少索引会影响之后的数据查询效率,需要想办法解决。
我到现在还不知道有没有解决这个问题,我试了这些命令:
tootctl maintenance fix-duplicates
reindexdb --all
站点恢复运行之后我发现访问起来还是相当的慢,研究了一番,发现每个用户的 timeline 都是在后台临时构建。按我理解,这个 timeline 应该是事先准备好的,所以我又找到了这个命令:
tootctl feeds build
它基于现有的数据,重新预构建了每个用户的 timeline。

其他杂七杂八的小问题还很多,但最有风险并且难懂的就是上面这些。
结论就是任何人要新建 mastodon 站点的话务必使用 docker 版本。
并且不推荐0基础运营公开站点,为太多人的数据负责,却又草率行事,后果真的可能很糟糕。

虽然 mastodon 的文档已经算是很完善的了,但还是引我走向了一个又一个的大坑。
对我来说倒是终于深刻理解了,为什么生产环境能不动就不动。不出问题还好,像昨天晚上,升级进行到一半,bug多到什么服务都起不起来的时候,我真的是已经想提桶跑路了。

拔完牙的第二天诊所专门打了个电话过来,问我感觉怎么样,有没有不舒服,有没有去拿药​:aru_0080:​诊所的服务真的很对得起他们的价格!

Show thread

秘书写邮件的时候把我指代为 frisch gebackene Doktorin, freshly baked doctor​:aru_0160:

如果男性真的不清楚什么是对女性性骚扰的边界……请在要对女性做接下来的动作、身体接触,说话之前请先多问问可以吗……?请多问问“如果我做xxx的话你会不会不舒服?”,“我在这种情况下可以说xxx吗?会不会让你觉得讨厌?”,“我可以碰你的(e.g. 肩膀)吗?”,“请问你愿意让我拍一张照吗?”……诸如此类。如果过去几十年来真不懂、没有人教过的话,你可以问,你可以现学。这不会让你显得很笨、很没面子、失去男性气概,而是可以让你起码看起来很谨慎、有分寸、看起来能尊重人。如果你觉得这样的你会像一条“舔狗”,或者什么都不想付出就得到来自异性的性与爱的话……你真的好可怜,不知道什么是爱,也不知道什么是尊重。被嫌厌是你最好的归宿呢。

得知法语里葡萄是 raisin, 葡萄干是 raisin sec,我就猜英语的葡萄干是从法语里来的,而且因为他们不懂这个词什么意思所以又只取了前半截,一查果然是的​:aru_0180:
(但德语里也一样,只是来源于古法语而已​:aru_0520:

Show thread

在 Annecy 的家乐福买东西的时候售货员看我可爱就送了我个购物袋,我现在去超市都用它,好喜欢,是网状的但是有个小袋子可以装钱和钥匙什么的​:BlobhajLove:

好烦,吃饭的时候坐不住,就想走来走去的,也不知道什么时候养成的习惯

上周末去了日内瓦的艺术历史博物馆(Musée d'Art et d'Histoire),感觉不错,照片懒得整理了,印象比较深的就是门票钱不固定,想给多少给多少!很喜欢,建议推广到所有博物馆。

我对德国的好感已经几乎被漫天的 paperworks 消磨殆尽了​:azukisan_bowing:

《欧洲平均周工作时长 36.2 小时》 欧盟统计局的数据显示,欧洲国家之间的工作时长差异很大。2022 年欧洲 20-64 岁从业者平均每周工作 36.2 小时,比 2019 年新冠疫情爆发前少 24 分钟。这一数据包含了全职和兼职工人。其中荷兰最低每周工作 32.4 小时,其次是奥地利 33.7 小时、挪威 34.1小时,丹麦和德国都是 34.6 小时,希腊和罗马尼亚是 39.7 小时。土耳其工作时间最长,2020 年的最新数据是周工作时长 42.9 小时,黑山 42.8 小时(2020 年)和塞尔维亚 42.3 小时。 | solidot.org/story?sid=75329

AH to go 的 Spaghetti Bolognese 怎么只要两块五,也太便宜了,感觉比我折腾原料自己做便宜多了

Show thread

终于又是一个人的感觉好棒啊!把衣服扔进了洗衣机,洗了澡,吃上了超市买的两块五的 Spaghetti Bolognese, 拿冰箱里剩的橙子和西柚整了一杯果啤,好幸福啊!

啊啊啊我回到阿姆啦!这几天一直在学法语,感觉法语好好玩,还以为自己要移情别恋了,结果听到荷兰语就像听到了乡音一样幸福啊!果然熟悉感能够给人安慰​:BlobhajHugTinyBla:

我在德国还有至少三件事没办完…想想就烦得要死

Show older
Rhabarberbarbarabar

本吧服务器位于德国。欢迎小伙伴们分享生活和语言豆知识。
新用户注册请
1. 填写详细的申请理由,或者附上别处的社交账号。
2. 给出 Rhabarberbarbarabar 的中文翻译。