zhangguanzhang's Blog

zhangguanzhang's Blog

站在巨人的肩膀上

rpm包的制作笔记
文章写于 2021-08-02,防止排列在前面,所以 markdown 里的时间改成 2017-05-15 。 rpm 一些知识建议起个 centos:7 的容器里去制作 Linux 里的 so用白话说,就是类似于 windows 的 dll 文件,通常是底层库,或者经常用到的 c 函数。比如说 curl 命令和 wget 命令,他们很多的底层例如 http 请求,dns 解析,hosts 解析这块逻辑是一样的。如果他们全部打包在二进制文件里(也就是静态编译)会造成二进制体积很大(golang 一般都是静态编译的)。如果共用(共用的一个其中原因是因为早期的系统硬盘容量很小)的话体积会很小...
虚拟化扩容硬盘大小
写于 2021/08/27 ,为了避免排到前面,所以日期修了下。 about讲解下扩分区的步骤。扩容只有两种情况,lvm(改 pv 所在分区的硬盘大小) 和非 lvm 纯分区的。无论是哪种,都得先扩容挂载路径所在的分区。推荐使用 parted 命令扩,且推荐使用最新版的 parted。新增硬盘扩到 lvm 里就不讲了,简单得不行。要先确保现场安装好新版本的 parted ,老版本的 parted 没有 resizepart 的命令,有条件的话把 gdisk 也可以安装上。 早期的 Linux 为了兼容 windows 的磁盘,只支持 MBR ,后面支持了 GPT。传统的老牌的分区工具是 ...
centos配置bond
1234567891011121314151617181920212223242526272829[root@APP-SRV-001 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0TYPE=EthernetBOOTPROTO=noneDEVICE=eth0NAME=eth0ONBOOT=yesMASTER=bond4SLAVE=yes[root@APP-SRV-001 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1TYPE=EthernetBOOTPROTO=noneDEVICE=et...
Linux 僵尸进程处理
借用下别人的话: 12345678可能很少有人意识到,在一个进程调用了exit之后,该进程 并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所 有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有 任何内存空间。僵尸进程的来由,要追溯到Unix,Unix的设计者们设计这个东西并非是因为闲来无事想装装酷什么的。上面说到,僵尸进程中保存着很多对程序员和系统管理员非常重要的信息,首先,这个进程是怎么死亡的?是正...