小白成长之路-Linux程序管理(二)


一、源码包(编译)安装

需要依赖gcc和make环境
配置: cd 源码包的解压路径:
./configure --prefix=安装路径(一般可以选择在/usr/local/nginx)
编译:make
安装: make install

案例:nginx编译安装:

1.安装前先查看磁盘大小

在这里插入图片描述
发现/home内存空间大可以放在/home下

2.压缩包的位置

浏览器下载的压缩包直接拖入桌面
在这里插入图片描述
使用mv移动到home下,使用tar -xf解压会生成一个新的目录
在这里插入图片描述
进入该目录,configure就是我们所需要的
在这里插入图片描述

3.执行编译

./configure --prefix=//usr/local/nginx
该目录会自动创建
如果出现下面这种情况代表没有安装gcc make依赖
在这里插入图片描述
重新编译后出现下面这种情况需要
yum install -y pcre-devel或者untils
yum install -y zlib-devel
在这里插入图片描述
然后再重新编译,会在源码包下生成Makefile文件
在这里插入图片描述
在执行make ,最后执行make install
也可以合并命令:./configure --prefix=/usr/local/nginx18 && make && make install 直接执行

验证:cd /usr/local/nginx
在这里插入图片描述
然后直接使用nginx命令不生效,是因为他并没有在sbin文件下,生成软连接到/usr/sbin下

命令优化:
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

二、二进制安装

只需要运行bin文件

jdk-6u14-linux-x64.bin
./jdk-6u14-linux-x64.bin
根据提示进行操作即可

三、Linux操作系统启动流程

3.1概述

Linux启动流程是从按下电源键到用户登录的完整过程,分为传统BIOS+MBR和现代UEFI+GPT两种模式。主流系统(如CentOS 7+/Ubuntu 18.04+)通常使用 UEFI + GRUB2 + systemd 组合。

3.2启动流程核心阶段

1.电源与固件阶段

UEFI/BIOS初始化

  • 硬件自检(POST, Power-On Self-Test)
  • UEFI特点:图形化界面、支持GPT分区、独立于OS的Shell环境
  • 定位启动设备:读取NVRAM中的启动项(efibootmgr命令可管理)

2.引导加载程序

  • GRUB2 核心作用

    • 配置文件路径:/boot/grub2/grub.cfg(由grub2-mkconfig生成)

    • 关键配置参数:

      set root=(hd0,gpt1)  # 指定/boot所在分区
      linux /vmlinuz-5.4.0 root=/dev/sda2 ro  # 内核路径及挂载参数
      initrd /initramfs-5.4.0.img             # 初始化内存文件系统
      
  • 用户交互

    • e 临时编辑启动参数(如单用户模式 systemd.unit=rescue.target
    • c 进入GRUB命令行

3.内核初始化

内核解压与初始化

  • 加载vmlinuz:压缩的内核镜像
  • initramfs 作用:
    • 包含根文件系统挂载前的驱动(如LVM、RAID)
    • 提供dracut工具集(可通过dmesg | grep initramfs查看日志)
  • 挂载根文件系统(/)为只读模式

4.systemd初始化进程

首个用户态进程

  • PID=1,替代传统init

  • 核心任务:

    1. 解析/etc/systemd/system/default.target(默认运行级别)
    2. 并行启动服务单元(Unit)
    3. 激活sysinit.target(系统初始化)、basic.target(基础服务)
  • 关键操作命令

    systemctl get-default         # 查看默认target
    systemctl set-default multi-user.target  # 设置默认为命令行模式
    journalctl -b                # 查看本次启动日志
    

5. 用户登录阶段

  • 终端登录
    • getty 服务生成终端(/etc/systemd/system/getty.target.wants/
    • 调用login验证用户身份
  • 图形化登录
    • Display Manager(如GDM、LightDM)启动X/Wayland会话
      提示:这里对文章进行总结:

四、systemd管理机制

语法结构:

systemctl 服务控制类型 服务名称[.service]

服务控制类型:

start:启动

Active: active (running)

stop:停止

Active: inactive (dead)

restart:重启

会停止服务

reload:重载

不停止服务,加载配置文件

优雅的重启

status:查看状态

enable:开机自启动

is-enabled:查看是否开机自启动

disabled

关闭开机自启动

enabled

开启开机自启动

disable:开机不进行自启动

–now 配合enable与disable使用;在进行开机自启或不自启的同时进行打开或关闭指定服务

选项:

-t
指定unit类型
Unit Commands
list-units
列出所有unit,一般与-t结合

案例:

systemctl list-units -t service

systemctl daemon-reload #当改变unit的脚本文件后,需要进行重新识别

练习题

总结

例如:以上就是今天要讲的内容,这一部分还涉及到故障排错,后续会有专门的课题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值