• Profile Hang

    export DEBUGINFOD_URLS=””

    在使用 bcc profile 工具做火焰图的时候,卡在输出时。

    通过 strace 和 dcpdump 看到他在请求 https://debuginfod.centos.org.

  • Nonono

    奶奶在家里让他去上学的时候,说“你不上学,爷爷和我都不和你玩。你就自己玩吧。”

    我非常不喜欢这种方式,第一你没权利替爷爷做决定。第二我想起来我小学五年级的班主任,我现在还觉得他是个人渣,他惩罚一个人的时候方式是不让其他任何同学和这个人讲话。

  • Auto Activate

    function auto_activate_venv() {
        if [ -e "venv/bin/activate" ]; then
            source venv/bin/activate
        else
            local dir=$(pwd)
            while [[ "$dir" != "" && ! -e "$dir/venv/bin/activate" ]]; do
                dir=${dir%/*}
            done
            if [ -e "$dir/venv/bin/activate" ]; then
                source $dir/venv/bin/activate
            fi
        fi
    }
    #export PROMPT_COMMAND="auto_activate_venv"
    
    function cd() {
      type deactivate > /dev/null && deactivate
    
      builtin cd $1
    
      auto_activate_venv
    }
    auto_activate_venv
    
  • Update Kafka Cert

    export idx=3
    export cluster=hotel-searchservice-shaxy-b
    
    k exec -npro-kafka $cluster-kafka-$idx -- mkdir /tmp/broker-certs /tmp/client-ca-certs /tmp/cluster-ca-certs
    
    clustercert=`k get secret -npro-kafka $cluster-cluster-ca-cert -o jsonpath='{.data.ca\.crt}' | base64 -d`
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$clustercert' > /tmp/cluster-ca-certs/ca.crt"
    
    clientscert=`k get secret -npro-kafka $cluster-clients-ca-cert -o jsonpath='{.data.ca\.crt}' | base64 -d`
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$clientscert' > /tmp/client-ca-certs/ca.crt"
    
    brokerkey=`k get secret -npro-kafka $cluster-kafka-brokers -o jsonpath="{.data.$cluster-kafka-$idx\.key}" | base64 -d`
    brokercert=`k get secret -npro-kafka $cluster-kafka-brokers -o jsonpath="{.data.$cluster-kafka-$idx\.crt}" | base64 -d`
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$brokerkey' > /tmp/broker-certs/$cluster-kafka-$idx.key"
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c "echo '$brokercert' > /tmp/broker-certs/$cluster-kafka-$idx.crt"
    
    
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c "sed 's|/opt/kafka/|/tmp/|' kafka_tls_prepare_certificates.sh > /tmp/upate-cert.sh"
    
    k exec -npro-kafka $cluster-kafka-$idx -- sh -c 'export CERTS_STORE_PASSWORD=$(grep listener.name.replication-9091.ssl.keystore.password /tmp/strimzi.properties | cut -f2 -d=) && sh /tmp/upate-cert.sh'
    k exec -npro-kafka $cluster-kafka-$idx -- bin/kafka-configs.sh --bootstrap-server 127.0.0.1:9092  --entity-type brokers --entity-name $idx --alter --add-config listener.name.replication-9091.ssl.truststore.location=/tmp/kafka/cluster.truststore.p12
    
  • Keytool List

    keytool -v -list -storetype pkcs12 -keystore keystore.p12

  • Openssl Check All Certs

    问:

    openssl 怎么查看一个 bundle 证书的所有证书信息?

    答:

    要查看一个包含多个证书的证书包(bundle)的所有证书信息,您可以使用OpenSSL命令行工具。首先,确保您已经安装了OpenSSL。

    接下来,使用以下命令查看证书包中的所有证书信息:

    openssl crl2pkcs7 -nocrl -certfile bundle.crt | openssl pkcs7 -print_certs -text -noout
    

    在这里,bundle.crt 是您的证书包文件名。请将其替换为您的实际文件名。

    这个命令首先将证书包转换为PKCS #7格式,然后使用openssl pkcs7命令提取和显示所有证书的信息。

    如果您只想查看证书包中的某个特定证书,可以使用以下命令:

    openssl x509 -in bundle.crt -text -noout
    

    这将显示证书包中第一个证书的信息。要查看其他证书,请使用-certopt选项指定要查看的证书,如下所示:

    openssl x509 -in bundle.crt -text -noout -certopt ca_only
    

    这将显示证书包中的CA证书信息。您可以根据需要调整-certopt选项。

  • unclean.leader.election.enable

    提前设置好 unclean.leader.election.enable ,然后 replica 变成 offline。这个时候leader 不会选举出来。

    需要等 leader 变成 -1 之后,再设置 unclean.leader.election.enable 才能选举出来

  • 老了

    23年夏天的时候,踢球被踢了一脚脚踝,到冬天都没好。

    11月份的时候,有天胳膊突然疼(我现在怀疑是鼠标的原因,用鼠标的时候那里的肌肉是会用到的,平时感觉不到,但伤了之后就有感觉了)

    就一直没有好。老了啊。

  • 自洽

    简单来说,要做到自洽,最简单的办法就是实事求是,因为大自然本身是自洽的,实事求是就是加入这个大的自洽的过程。

  • Whiteout

    以下文字来自 GPT-4,不保证正确性。

    在Linux文件系统中,”whiteout”文件是一种特殊类型的文件,主要用于联合文件系统(Union file systems)如OverlayFS,用于处理文件或目录的删除操作。

    当在联合文件系统的较高层删除一个在较低层存在的文件时,由于联合文件系统的特性,实际上并不能真正地删除底层的文件。因此,系统会在高层创建一个特殊的”whiteout”文件,用来表示该文件在这一层被删除。

    当访问该文件时,如果在高层找到了对应的”whiteout”文件,那么系统就会认为该文件不存在,即使在底层实际上还存在该文件。

    这种机制允许在不改变底层文件系统的情况下,实现在上层的文件删除,是实现Docker等容器技术的重要基础。