Show newer

external_links 需要实现创建好的 external 的 network,原来如此
那么合并一下数据库版本,让服务共享数据库还是可以的。

edk2-ovmf 提供的 UEFI 固件如何开启安全启动 (在 Arch Linux 下)
首先需要自己拷贝一份 OVMF_VARS.fd (/usr/share/edk2-ovmf/x64/OVMF_VARS.fd)
然后就可以了:
qemu-system-x86_64 参数如下:

  • -boot order=d,menu=on 开启菜单,设置启动顺序 d 是 cd,但是我这里没用不知道为啥
  • -machine q35,smm=on OVMF 需要 smm 特性
  • -global TCH9-LPC.disable_s3=1 关闭这玩意,免得无法启动
  • -global driver=cfi.pflash01,property=secure,value=on 声明一个固件,打开安全启动
  • m size=2048 给 archiso 一个大内存
  • -device virtio-scsi-pci,id=scsi0 给 archiso 用的设备
  • -device scsi-cd,bus=scsi0.0,drive=cdrom0 给 archiso 用的设备
  • -drive id=cdrom0,if=none,format=raw,media=cdrom,readonly=on,file=archlinux-2022.02.03-x86_64.iso archiso
  • -drive if=pflash,format=raw,unit=0,readonly=on,file=/usr/share/edk2-ovmf/x64/OVMF_CODE.secboot.fd edk2-ovmf 固件的代码
  • -drive if=pflash,format=raw,unit=1,file=./OVMF_VARS.fd edk2-ovmf 固件的变量

构建 python 应用容器:
构建 wheel 的多阶段构建:

FROM python:3 AS python-meirin
RUN useradd -m meirin \
    && mkdir -p /home/meirin/.local/bin \
    && chown -R meirin:meirin /home/meirin \
    && mkdir -p /usr/src \
    && chmod a+rw /usr/src
USER meirin
ENV PATH "/home/meirin/.local/bin:$PATH"

#-------------------------------------------------------------------------------

FROM python-meirin AS builder
WORKDIR /usr/src

RUN pip install --no-cache-dir build setuptools
# 把 python-app 目录替换为 /usr/src 的意思
COPY python-app/ /usr/src/
RUN python -m build --wheel

#-------------------------------------------------------------------------------

FROM python-meirin
LABEL maintainer="literal kernel"

COPY --from=builder /usr/src/dist/*.whl /usr/src
RUN pip install /usr/src/*.whl && rm -rf /usr/src/*

CMD [ "python", "-m", "meirin" ]

使用 pip install 直接安装

FROM python:3
COPY python-app/ /usr/src/
RUN useradd -m meirin \
    && mkdir -p /home/meirin/.local/bin \
    && chown -R meirin:meirin /home/meirin \
    && mkdir -p /usr/src \
    && chmod -R a+rw /usr/src
USER meirin
WORKDIR /home/meirin
ENV PATH "/home/meirin/.local/bin:$PATH"

RUN pip install /usr/src
USER root
RUN rm -rf /usr/src
USER meirin
CMD [ "meirin" ]

听说 make 检测目标更新的原理是比较源文件和目标文件的修改时间,源文件后于目标文件则需要重新 make。
好像可以:

import os
import os.path
import subprocess
import logging

logger = logging.getLogger(__name__)
stream_handler = logging.StreamHandler()
logger.addHandler(stream_handler)

source_mtime = os.path.getmtime("test.py")
target_mtime = os.path.getmtime("[email protected]")

if source_mtime > target_mtime:
    logger.info("need remake {}".format('[email protected]'))
    proc = subprocess.Popen(
        [
            "python",
            "test.py",
        ],
        cwd=os.getcwd(),
    )
    print(" ".join(proc.args))
else:
    print("nothing to remake")

抖个机灵,比起母语羞涩而用外语,如果你不愿意别人看懂你发的内容,可以试试发这个:

-----BEGIN PGP MESSAGE----
6Jm954S26L+Z5q615raI5oGv5pivIGJhc2U2NCD
nvJbnoIHnmoTvvIzkvYbmmK/kvaDnlKggZ3BnIO
WKoOWvhuWHuuadpeeahOS4nOilv+eQhuiuuuS4i
uayoeacieWIq+S6uuiDveeci+WIsOOAgg==
-----END PGP MESSAGE-----

capability 真的翻译成“权能”吗?还以为“权能”是个ACG中二词汇。

听说仓颉不是中文编程,那真是太遗憾了,还想借鉴一下编程语言设计呢。
也只是听说,毕竟随便搜都能搜到这个:

hugo 可能文件结构上设计的比较可以,但是他的文档是真的垃。。。

pycairo 确实可以渲染 2D 图片,那么就用这个库来描述并生成 osu! 皮肤那就有意思了。

回家了,昨天刚去亲戚家就来消息说来水了,草。还是家里省心,虽然家挺偏的。另外也谢谢你 @BlueObserver

戴了一段时间的头戴式耳机了,用过了才发现。对于我这种近视的人来说,耳机与眼镜框架有冲突,会把头两侧夹得疼,要不两种耳机换着用 :qq_e252:

祸不单行 

工作找不到
崔毕业论文
停水一周
emo了

phabricator 看着挺不错的,有些设计比较欣赏,就是麻烦。

我有点觉得 grafana 是不是太重了,prometheus 本来就有个 alertmanager 。。。

Show older
小森林

每个人都有属于自己的一片森林,也许我们从来不曾走过,但它一直在那里,总会在那里。迷失的人迷失了,相逢的人会再相逢。愿这里,成为属于你的小森林。