本文为 2024年8月工作生活总结。
研发编码
检测几个国产系统的脚本
场景:某脚本的某个分区,在不同系统名称不同,需执行时判断。核心脚本如下:
# check os
OS_STR=`cat /etc/os-release`
if [[ $OS_STR == *"uos"* ]]; then
echo "in uos"
elif [[ $OS_STR == *"kylin"* ]]; then
echo "in kylin"
fi
通过os-release
文件内容,检查关键字,可判断不同系统。
kylin桌面系统发行版本信息:
$ cat /etc/os-release
NAME="Kylin"
VERSION="银河麒麟桌面操作系统V10 (SP1)"
VERSION_US="Kylin Linux Desktop V10 (SP1)"
ID=kylin
ID_LIKE=debian
PRETTY_NAME="Kylin V10 SP1"
VERSION_ID="v10"
HOME_URL="http://www.kylinos.cn/"
SUPPORT_URL="http://www.kylinos.cn/support/technology.html"
BUG_REPORT_URL="http://www.kylinos.cn/"
PRIVACY_POLICY_URL="http://www.kylinos.cn"
VERSION_CODENAME=kylin
UBUNTU_CODENAME=kylin
PROJECT_CODENAME=V10SP1
KYLIN_RELEASE_ID="2403"
uos桌面系统发行版本信息:
$ cat /etc/os-release
PRETTY_NAME="UOs Desktop 20 Professional"
NAME="uos"
VERSION_ID="20"
VERSION="20"
ID=uos
HOME_URL="https://www.chinauos.com/"
BUG_REPORT_URL="http://bbs.chinauos.com"
VERSION_CODENAME=eagle
centos系统发行版本信息:
$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
国产系统适配的记录
本月主要做了些国产系统的适配工作。下载了kylin、uos的桌面版、服务器版。先前是在arm架构硬件平台上做适配,此次在x86架构硬件平台上做适配,稍有不同,最大的挑战是,上层业务不能改。业务程序不能调整,因为涉及多个版本维护的问题。脚本不改,需调整的话,考虑兼容性,尽量一个脚本通用,内部做兼容。
centos源自redhat,而国内的桌面系统源自debian,两大体系不同,如sh
就不同,安装软件工具也不同。因此,本次适配,更多的是修改系统,以保证原有业务正常运行。调整的内容有:免密切换root、密码强度策略、手动同步时间、写硬件时间、关闭桌面、逻辑卷扩容,等。
经过一段时间捣鼓,最大体验就是,如果没有厂家的支持,没有自己结合实际情况的摸索,是没法搞下去的。有很多问题都是和业务场景有关,在很多场合是不会遇到的。比如,debian系的系统网卡没有ethx
这种名称但业务程序只认ethx
的问题,双网卡网卡编号乱序问题,无法写入硬件时间问题,安装系统手动分区不支持逻辑卷问题,等等。
生活记录
借书买书
周末去旧书摊,发现一本竖版本《幼学琼林》,加一本《庄子》,要价20元,砍不了价,于是作罢。
带大锤去图书馆,现有甲骨文展,还有VR游戏,带大锤去了2次,只有一次恰好游戏有号,顺便玩了。根据大锤的描述,游戏很像真实的,不愧称为VR游戏。