• Madman
  • ·

CentOS7 升级内核到 4.4 以上版本时无法重启

CentOS 7.3 从内核 3.10.0 升级到 4.14.40 后,重启不了,原因是 Linux 内核 4.4.x 版本之后,dracut 命令生成的 initramfs 默认不会自动加载 mpt3sas 驱动模块,导致内核 vmlinuz 无法加载它的 rootfs(根文件系统),因为识别不了系统盘(两块 SAS 系统盘接在 LSI 2308 HBA 卡上,创建 RAID 1),没有对应的驱动程序

Linux定时任务计划-min.png
  • Madman
  • ·

at / cron - Linux定时任务计划

at通常用于执行一次性定时任务,batch命令会在CPU的工作负载小于0.8的时候,才执行设定的定时任务计划。crond用于周期性执行定时任务,使用crontab命令设置用户级别的定时任务,系统级的任务计划直接编辑/etc/crontab配置文件,注意多了一个用户名的字段,而且不能省略它。自己开发的程序要定时执行,建议在/etc/cron.d/目录下增加配置文件。如果系统在本来要执行定时任务...

Linux编译C程序-min.png
  • Madman
  • ·

Linux编译C程序

分析了Linux环境下从创建C语言源代码到最终的可执行文件的整个过程,中间经过于处理器的预处理阶段(源文件到预处理文件),编译器的编译阶段(预处理文件到汇编文件),汇编器的汇编阶段(汇编文件到可重定向的目标文件),链接器的链接阶段(可重定向的目标文件到可执行的目标文件)。另外简单地介绍了gdb调试工具

Progress - Linux显示文件操作的进度-min.png
  • Madman
  • ·

Progress - Linux显示文件操作的进度

progress是一个轻量级的、只支持Linux和OSX系统的用C语言开发的小工具,当系统中像cp、mv、dd、tar、gzip等命令需要长时间运行时,progress可以显示这些命令的执行进度,实时显示它们操作文件的百分比,同时还会显示拷贝速度、预计完成时间等信息

CentOS从源代码RPM生成二进制RPM-min.png
  • Madman
  • ·

CentOS从源代码RPM生成二进制RPM

有时候你在网上只找到应用程序的源代码RPM(SOURCE RPM,即SRPM),它的一般命令格式为xxx.src.rpm,首先需要从它生成可安装的二进制RPM,需要用到rpmbuild命令。需要注意的是,不论是用 RPM 组件管理系统、抑或是原始的 tar 压缩档,以 root 身份来创建软件可能会导致灾难,所以强烈建议使用非root用户执行本文的步骤

CentOS7修改网卡名称为eth0-min.png
  • Madman
  • ·

CentOS7修改网卡名称为eth0

CentOS6之前基于传统的网卡命名方式如eth0、eth1等,缺点是多接口时可能重启系统后ethX对应的网卡接口会变动。CentOS7之后提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配,这样做的优点是命名是全自动的、可预知的,缺点是比eth0、wlan0更难读,比如enp131s0f0

Linux修改字符颜色-min.png
  • Madman
  • ·

如何修改PS1命令行提示符的颜色

在Linux中要改变输出字符的颜色,可以使用ANSI转义码或者tput命令。ANSI转义码可以控制字符的显示效果如加粗、加下划线、闪烁等,也可以改变字体的显示颜色(前景色),或者改变背景显示颜色,这些显示控制代码是可以组合使用的,用分号隔开即可,与顺序无关。tput命令也有对应的子命令来达到这些效果。另外,如果要修改Linux命令提示符PS1的颜色,需要特别注意的是bash环境下还需要在AN...

如何在Linux中增加打开文件数限制-min.png
  • Madman
  • ·

如何在Linux中修改打开文件描述符的数量

在Linux中,如果您拥有对系统的root访问权限,那么可以更改可以打开文件描述符的最大数量。Linux系统资源限制又分为整个系统层面的总限制,此时要修改内核参数,比如/proc/sys/fs/file-max。还可以对进程和用户分别做资源限制,将ulimit命令写入应用程序的启动脚本中,此时要注意子进程允许打开的最大文件数不能超过父进程的阈值限制。还可以在当前shell会话中直接执行uli...

shell处理命令行选项和参数-min.png
  • Madman
  • ·

shell处理命令行选项和参数

shell编程时经常要处理用户输入,除了使用read命令获取数据外,最直接的是从命令行参数和选项处来获取用户输入。命令行参数允许用户运行脚本时直接从命令行输入数据,脚本通过位置参数来取回命令行参数并将它们赋值给位置变量。case结合shift命令基本上能处理大部分情形的选项和参数,但是不能正确处理多个短选项合并的情形。外部命令getopt和内置命令getopts可以很好的处理命令行选项,但不...