-
《鸟哥的Linux私房菜 基础篇》下
认识系统服务(daemons)
- 早期Centos 7.X之前
- /etc/init.d/daemon start|stop|restart|status
- chkconfig deamon on|off
- chkconfig --list deamon
- Centos 7.X后
- systemctl status|start|stop|restart|enable|disable|is-active|is-enable deamon
- systemd 文件目录
- /usr/lib/systemd/system/ 启动脚本设定
- /run/systemd/system/ 执行过程中产生的服务脚本
- /etc/systemd/system/ 根据系统需求建立的执行脚本
- service类型配置文件,三个部分Unit;Service;Install
所属部分 |
参数 |
说明 |
Unit |
Description |
服务名称 |
Unit |
Documentation |
资料查询 |
Unit |
After |
前置服务 |
Unit |
Before |
与After相反 |
Unit |
Requires |
服务依赖 |
Unit |
Wants |
与Requires相反 |
Unit |
Conflicts |
冲突服务,不能同时运行 |
Service |
Type |
启动方式,常用simple |
Service |
EnvironmentFile |
指定环境配置文件 |
Service |
ExecStart |
执行命令或脚本 |
Service |
ExecStop |
stop服务时执行的指令 |
Service |
ExecReload |
reload服务时执行的指令 |
Service |
Restart |
重启的方式 |
Service |
RemainAfterExit |
|
Service |
TimeoutSec |
多久进入强制结束 |
Service |
KillMode |
|
Service |
RestartSec |
重启需要sleep多久 |
Install |
WantedBy |
大多是multi-user.target |
Install |
Also |
enable时,也enable这些服务 |
Install |
Alias |
enable的别名 |
认识和分析登录档
- 登录文件可以记录系统在什么时间、哪个主机、哪个服务、出现了什么讯息等信息
- 登录文件的重要性
- 解决系统方面的错误
- 解决网路服务的问题
- 过往时间记录簿
- 常见的登录文件:
- /var/log/boot.log 开机时候系统核心侦测和启动硬件,以及各种核心支持的功能启用日志
- /var/log/cron crontab的日志
- /var/log/dmesg 系统在开机的时候核心侦测过程所产生的各项信息
- /var/log/lastlog 记录系统上面所有账号最近一次登入系统的相关信息
- /var/log/maillog或/var/log/mail/* 邮件相关日志
- /var/log/message 系统发生的错误日志几乎都会被记录在这个文件中
- /var/log/secure 涉及到输入账号密码的软件在登录时都会被记录在此文件中
- /var/log/wtmp,/var/log/faillog 记录正确登入系统者的账户信息与错误登入时所使用的的账户信息
- /var/log/httpd/,/var/log/samba/ 不同网路服务使用自己的登录文件来记录日志
- centos7使用systemd提供的journalctl日志管理
- 登录文件内容的一般格式,包含以下重要数据:
- 事件发生的日期与时间
- 发生此事件的主机名
- 启动此事件的服务名称或指令与函式名称
- 该讯息的实际数据内容
开机流程、模块管理与Loader
- linux系统启动过程
- 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备
- 读取并执行第一个启动设备内MBR的boot loader(即是grub,spfdisk等程序)
- 依据boot loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序
- 在硬件驱动成功后,Kernel会主动调用init进程,而init会取得run-level信息
- init执行/etc/rc.d/rc.sysinit文件来准备软件执行的操作环境(如网络、时区等)
- init执行run-level的各个服务的启动(script方式)
- init执行/etc/rc.d/rc.local文件
- init执行终端机模拟程序mingetty来启动login进程,最后就等待用户登录
基础系统设定与备份策略
- nmcli connection modify [args] 设置系统网络状态
- hostnamectl [set-hostname {hostname}] 修改主机名
- timedatectl [args] 修改日期事件
- ntpdate tock.stdtime.gov.tw 手动网络校时
软件安装:原始码与Tarball
- Linux系统上真正认识的可执行文件其实是二进制文件,用file指令可以查看文件是否为二进制文件,如果是binary且可以执行,会显示执行文件类型(exectable相关),以及是否使用动态函式库(shared libs),如果是一般的script,显示textexecutables
- 函氏库:类似子程序的角色,可以被呼叫来执行的一段功能函数
- Tarball是一个软件包,通常包含源代码文件,侦测程序文件(configure或config),本软件一些说明文件(readme)
- make命令的好处
- 简化编译指令
- 编译完成之后,修改某个源码文件,make仅会针对修改的文件进行编译
- 最后可以依照依赖性来更新执行文件
- makefile语法
-
代表注释
- tab需要在命令行的第一个字符
- target后用:隔开
- 变量与shell相同,赋值两边可以有空格,左边不可以有tab
- 习惯上,变量名全大写
- 使用变量需要用${}或$()
- 变量优先级,指令中 > makefile文件 > shell环境变量
- $@代表当前的target
- Tarball安装流程
- 下载安装包并解压
- 根据INSTALL或README安装一些依赖
- 建立makefile,./configure
- 执行make指令,在这之前可以执行以下make clean,一般会提供,清除之前编译的文件
- 执行make install,将上一个步骤所编译完成的文件安装到预定目录
- linux函式库分为动态和静态
- 静态特点:扩展名为.a,编译时直接整合到目标程序,编译完成可独立执行
- 动态特点:扩展名为.so,编译时在目标程序中只有一个pointer,编译完成需要在有函式库文件的环境中执行
- 倾向于使用动态函式库编译,升级方便,不用重新编译
- 通过ldconfig和/etc/ld.so.conf可以将动态函式库加载到内存
软件安装RPM,SRPM与YUM
- rpm是Red Hat公司研发的软件管理工具,将要安装的软件先编译过,并打包成RPM机制的安装文件
- srpm就是source rpm,rpm文件中含有源码
- rpm安装包名称通常包括:软件名称、版本信息、操作硬件平台
- 操作硬件平台包括i386,i586,x86_64,最常见的是x86_64,noarch表示没有平台限制
X window设定介绍
Linux核心编译与管理
-
相关阅读:
产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
it人必进的几大网站
可写可选dropdownlist(只测试过ie)
Datatable转换为Json 的方法
ref 和out的区别
数据库事务
Webservice 的安全策略
【转】Zookeeper解析、安装、配置
【转】activemq的几种基本通信方式总结
【转】Java小应用:Eclipse中建立自己的类库,给不同的工程使用
-
原文地址:https://www.cnblogs.com/prelude1214/p/14089980.html
Copyright © 2020-2023
润新知