alive 发布的文章

目前

生意竞争大,利润小。外出打工也没多大效益

方向

  • 保证基本农业产出
  • 学习基本手工制造
  • 充分利用信息技术,将经验记录下来
  • 学习各种开发板,为自动化做准备

    目标

    有一技之长,在困难时能维护自己的生存

    具体

  • 寻找场地,搭建手工工作场所
  • 购置电机,发动机设备。组装所需要的设备
  • 储备原材料
  • 搭建村级公共服务器(一直想做的),并与外网隔离

系统

首选系统

archlinux

次之的

debian

理想系统

gentoo

架构

比较看好riscv
实用的是x86
arm64勉强能用

目前对架构的看法

riscv目前的芯片都以soc集成为主,不过我并不喜欢这种集成度高的。芯片有最基本的功能就好,没必要把gpu.npu什么的都塞进去。arm64的soc,大多受限于内置的gpu.npu,在扩展性和可维护性上差点。
不过,soc的高集成化在嵌入式真的很吃香
x86的历史包袱有点大,而且大多功耗很高,硬件生态很好

选择

  • riscv低功耗纯粹核心,搭配低延迟网络和外设
  • 以riscv为基础的通用gpu模块,取代gpu.npu
  • 基于硬件加速的低功耗riscv网络设备,作为一个强力的家庭服务器

    目前硬件

  • 大容量固态硬盘的上市,代表了家庭中枢实现的可能(低功耗,容量大,带宽高)
  • 依托于大公司的服务,个人仅仅关心隐私和数据安全就好,以个人维持高算力是不现实的
  • 以村落为单位的网络中枢是可以实现的,只是要小心人心的贪婪。

    debian的缺点

    不清晰的包管理
    对源代码的过分patch

    gentoo的缺点

    过分耦合的管理与选择

为何要写

  • 人生就是一个积累的过程,如果不主动留下点什么,就真的一无所有了。
  • 总是会忘记,也记不住什么东西。
  • 还是得记住一些东西,尽可能地。即使在不远的将来会将它遗忘。
  • 也许自己错了,单纯的依靠数据记录会使自己陷入荒芜,要尽可能地去学,去记忆。

    ddns的实现

    域名

    腾讯云注册域名

    工具

    tccli 和一些用系统公具写出的脚步

    具体实现

    ip address命令输出ipv6地址,将输出处理选择出能用的公网ipv6,再用tccli命令向腾讯云发出更新解析命令,并做成定时任务

    具体脚本

    #!/bin/bash
    /root/.local/bin/tccli dnspod DescribeRecordList --cli-unfold-argument --Domain 'puxiqi.com' > list.txt
    RecordId=($(cat list.txt | grep "RecordId" | cut -d "," -f 1))
    Value=($(cat list.txt | grep "Value"))
    Name=($(cat list.txt | grep "Name"))
    echo ${RecordId[*]}
    echo ${RecordId[7]}
    echo ${Value[*]}
    echo ${Name[*]}
    addr=($(ip address | grep "inet6 2" | tr -s " " | cut -d " " -f 3 | cut -d "/" -f 1))
    
    /root/.local/bin/tccli dnspod ModifyRecord --cli-unfold-argument --Domain 'puxiqi.com' --SubDomain ctl --RecordType AAAA --RecordLine '默认' --Value ${addr[0]} --TTL 600 --RecordId ${RecordId[7]}
    /root/.local/bin/tccli dnspod ModifyRecord --cli-unfold-argument --Domain 'puxiqi.com' --SubDomain ctl --RecordType AAAA --RecordLine '默认' --Value ${addr[1]} --TTL 600 --RecordId ${RecordId[7]}
    /root/.local/bin/tccli dnspod ModifyRecord --cli-unfold-argument --Domain 'puxiqi.com' --SubDomain ctl0 --RecordType AAAA --RecordLine '默认' --Value ${addr[1]} --TTL 600 --RecordId ${RecordId[9]}
    rm list.txt

    ddns.service

    [Unit]
    Description=ddns update
    After=network.target
    
    [Service]
    User=root
    Type=simple
    ExecStart=/usr/local/bin/ddns.sh
    
    [Install]
    WantedBy=multi-user.target

    ddns.timer

    [Unit]
    Description=ipv6 ddns update
    
    [Timer]
    OnCalendar=*-*-* *:15:00
    Persistent=true
    
    [Install]
    WantedBy=timers.target