• Madman
  • ·

CentOS 7 部署内部使用的 Gitlab

GitLab 是用 Ruby 和 Go 开发的开源版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。它拥有与 Github 类似的功能,方便团队协作开发、管理,同时还可以实现完整的 CI(持续集成)、CD(持续发布)流程

systemd-min.jpg
  • Madman
  • ·

Linux引导过程与故障排除|第4章:systemd管...

systemd 是一个 Linux 系统基础组件的集合,提供了一个系统和服务管理器,运行为 PID 1 并负责启动其它程序。功能包括:支持并行化任务;同时采用 socket 式与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。systemd 支持...

SysVinit-min.jpg
  • Madman
  • ·

Linux引导过程与故障排除|第2章:SysVinit...

SysVinit 是 System V 风格的 init 系统,它源于 System V 系列的 UNIX,比 BSD 风格的 init 更灵活,CentOS 5 的初始化程序就采用了它。SysVinit 采用脚本的方式来串行启动服务(速度较慢),一般设置了 6 个运行级别(runlevel),它的默认配置文件 /etc/inittab 中指明了系统启动的默认运行级别,通常是 3 或者...

Linux boot process-min.png
  • Madman
  • ·

Linux引导过程与故障排除|第1章:Linux启动流程详解

只有深入了解 Linux 如何启动的,才能在启动出现故障时迅速排查问题原因。POST 加电自检、根据启动顺序(Boot Sequence)去查找 MBR 引导扇区,从而读取到 bootloader(比如 GRUB) 的第一阶段引导代码,这一部分跟操作系统关系不大(通用的流程)。然后 GRUB 会借助它的 1.5 阶段代码(比如...

  • Madman
  • ·

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

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

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可以显示这些命令的执行进度,实时显示它们操作文件的百分比,同时还会显示拷贝速度、预计完成时间等信息