摘要:
最近遇到一个问题,定制的一个镜像包,在启动后,发现有些内核模块加载是错误的,有些是正确的。使用modinfo去查询,可以看到加载的为内核版本中的模块(非自己定制的模块),而有些自己新增的模块没有加载成功。 这个问题也折腾了一两天的时间,最开始时排查做包日志,发现在安装rpm包时,%post后面的de 阅读全文
摘要:
kdump是2.6.16之后,内核引入的一种新的内核崩溃现场信息收集工具。当一个内核崩溃后(我们称之为panic),内核会使用kexec(类似于进程的exec,把当前内核换掉)进入到一个干净的备份内核(只使用少量内存,由第一个内核预留放在一块内存中),干净的内核启动后,仍旧是用户态服务初始化,这时会 阅读全文
摘要:
问题背景 我们当前系统使用的内核版本为A版本,我安装了一个在B版本内核上编译的一个模块catch.ko,A和B两个内核版本的KABI是兼容的。通过rpm -ql xx_mode可以看到要插入到内核的模块是放在了lib/modules/B<kernel_version>/extra/目录下。在/lib 阅读全文
摘要:
最近接到下游的一个需求,要为适配某网卡修改内核的patch制作热补丁。内核热补丁有较多的约束限制,包括不支持修改数据结构,不允许删除函数内部静态局部变量,不支持头文件修改等等。本次要修改的patch包含了头文件的修改,数据结构的变动,如果要制作热补丁就需要将这些变动尽量移动到.c文件中。本次patc 阅读全文
摘要:
参考https://www.ibm.com/developerworks/cn/linux/l-cn-sysrq/index.html SysRq 是什么 你是否遇到服务器不能通过 SSH 登录,也不能通过本地终端登录,但是却能 ping 通,数字键盘锁还可以响应击键操作的情况?在这种情况下,你除了 阅读全文
摘要:
man stat 查看帮助。 -c --format=FORMAT use the specified FORMAT instead of the default; output a new line after each use of FORMAT 使用特殊格式代替默认输出; 常用的参数有如下: 阅读全文
摘要:
理解映射: 映射是一种键(索引)和值(数据)的对应。字典是键值对的集合,键值之间无序。用大括号表示{},和dict()创建,键值对用冒号:表示。 {}用来生成空字典类型,集合类型如果是空的,需要用set函数,不可以使用{}来生成。 字典类型的处理方法: del d[k] 删除字典d中k对应的数据值。 阅读全文
摘要:
序列是具有先后关系的一组数据,是一维元素向量,元素类型可以不同,类似数学元素序列,元素间由序号引导,通过下标访问序列的特定元素。序列类型是一个基类类型,字符串类型,元祖类型,列表类型都属于序列类型。 序号定义,正向递增序号,反向递减序号。A[0]-A[5] A[-6] - A[-1] 序列类型操作: 阅读全文
摘要:
集合类型 集合是多个元素的无序组合,每个元素唯一,不存在相同类型,每个元素是不可变类型。用{}表示,元素间用逗号分隔。建立结合类型用{},或set函数,如果是空集合必须用set。 集合操作符: S|T 返回一个新集合,包括在集合S和T中的所有元素 S-T 包括在集合S但不在T中的元素 S&T 包括同 阅读全文
摘要:
转载 http://meinit.nl/rpm-spec-prepostpreunpostun-argument-values RPM has 4 parts where (shell) scripts can be used: %pre - Executed before installation 阅读全文