systemd

linux 操作系统启动过程和内核参数修改添加方法

删除回忆录丶 提交于 2019-12-02 08:05:39
linux 操作系统启动过程和内核参数修改添加方法 操作系统启动过程 操作系统启动过程一般分为五个阶段:(centos7为例) BIOS初始化 加载MBR到内存 GRUB阶段 加载内核和initramfs模块 systemd阶段 BIOS初始化 上电后,主板BIOS运行POST(Power on self test)代码,进行开机自检,检查硬件:CPU、内存、显卡、硬盘、CD-ROM、串口、并口、软驱等。 加载MBR到内存 自检硬件没有问题时候,这里以BIOS为例,BIOS将会直接找硬盘的第一个扇区,找到前446字节,将MBR加载到内存中,MBR将告诉程序下一阶段去哪里找系统的grub引导。此阶段属于grub第1阶段。grub还有1.5阶段和2阶段。 GRUB阶段 主要操作是装载stage1,装载stage1.5,装载stage2。 然后读取/boot/grub.conf文件显示启动菜单,装载所选的kernel和initrd文件到内存中。 grub启动三阶段: stage1: 引导安装在MBR中的引导程序(bootloader) stage1.5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统; stage2:读取存放在磁盘上的grub(存放位置:/boot/grub),grub的配置文件:/boot/grub/grub.conf

Gentoo安装与应用实践

喜欢而已 提交于 2019-12-02 07:15:01
我从去年开始接触 LINUX 系统,开始的时候觉得 linux 系统完全是个天方夜谭,连最起码的:在桌面情况下,进入终端系统,我都很困难。后来,我开始看网上的视频教程,学习别人的操作步骤,模仿别人的操作。再过了一阵子,我不甘心一直这样,于是我开始了自己的探索之旅。 开始,我为了追求大众化,想到了 LINUX 的全球霸主厂商—— readhat ,于是开始了我的 Fedora 之旅,初次用 linux 的我不知道其中有什么应用价值,只是想把它变成 windows 的替代品,于是我开始搞一些现在看起来很没有意义的东西。后来,我看到网上的评论说:“ fedora 是 redhat 的小白鼠,好的功能将来会在 RHEL 上体现出来,差的功能就会被淘汰掉”。于是我心有不甘,再加上由于我的升级举动、使用的不熟练,导致了内核经常性的崩溃,我失望了。于是,我开始寻找我 linux 之旅中的第二个发行版,因为之前很多人用 ubuntu ,因为其简单易用,很多操作也是点点鼠标就行了。但是,这时我使用 linux 的方向发生了变化,我并不追求那些花哨的东西,开始研究一些命令之类,当然也都是一些日常的操作,因为平时还要上课,也就没什么时间搞。这一时期,我使用的是 Debian 系统,最近我才知道原来 Debian 做服务器并不比 RHEL 逊色。当时的想法是 Debian 反正是 Ubuntu 他爸

使用 PXE+Kickstart 无人值守安装服务,批量部署

一笑奈何 提交于 2019-12-02 05:10:39
介绍: PXE(Preboot eXecute Environment,预启动执行环境)是由 Intel 公司开发的技术, 可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持 PXE 技术),主 要用于在无人值守安装系统中引导客户端主机安装 Linux 操作系统。Kickstart 是一种无人 值守的安装方式,其工作原理是预先把原本需要运维人员手工填写的参数保存成一个 ks.cfg 文件,当安装过程中需要填写参数时则自动匹配 Kickstart 生成的文件。所以只要 Kickstart 文件包含了安装过程中需要人工填写的所有参数,那么从理论上来讲完全不需要运维人员的干预,就可以自动完成安装工作。 1.关闭防火墙 CentOS 7默认使用的是firewall作为防火墙 查看防火墙状态 firewall-cmd --state 停止firewall systemctl stop firewalld 禁止firewall开机启动 systemctl disable firewalld 关闭 selinux: setenforce 0 2.DHCP #DHCP主要是提供客户端网络参数与TFTP的位置,以及boot loader的文件名 yum install dhcp -y vi /etc/dhcp/dhcpd.conf allow booting; allow bootp;

Linux (八)服务

半世苍凉 提交于 2019-12-02 02:49:55
1、服务的概念 操作系统中在后台持续运行的程序,本身并没有操作界面,需要通过端口号访问和操作。CentOS 6和CentOS 7的服务管理有很大区别,我们分别来看。 2、CentOS6服务 2.1 service命令 service 服务名 start service 服务名 stop service 服务名 restart service 服务名 reload service 服务名 status 2.2 服务对应程序文件 /etc/init.d目录下都是 2.3 chkconfig命令 查看服务列表:chkconfig [--list] 设置具体服务开机自动启动状态:chkconfig 服务名 on/off 思考:你 能否区分清楚这两种状态呢? 服务现在是否运行 服务是否开机自动运行 2.4 Linux的运行级别 vim /etc/inittab查看系统配置。CentOS6系统使用0~6这7个数字来控制Linux系统的启动方式。 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别2:多用户状态(没有NFS),没有网络服务 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式 运行级别4:系统未使用,保留 运行级别5:X11表示控制台,进入图形界面 运行级别6

30.监控io free ps 查看网络状态 抓包

柔情痞子 提交于 2019-12-02 00:53:28
10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 扩展tcp三次握手四次挥手 http://www.doc88.com/p-9913773324388.html 三次握手要查看,面试会被问到 tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html 10.10 linux下抓包 10.6 监控io性能: 如果我们cpu和内存明明还有剩余,但是系统就是负载很高。用vmstat的查看发现b列或者wa列比较大。那是不是说明我们磁盘有瓶颈,那我们就要更详细的查看磁盘的状态 我们在安装sysstat的时候,就会安装上iostat这个命令。instat和sar属于同一个包 我们直接敲iostat就可以查看,或者敲instat 1(iostat 1 10)来查看读写,跟sar -b的结果差不多 我们需要掌握的是: ~1. iostat -x 1 主要查看 %util。他首先是一个百分比。 &util这一列表示你的io 等待,总之就是你这个磁盘使用有多少时间,就是说占用cpu的。那么我们这个cpu有一部分是给进程处理的、计算的。那也有一部分时间是要等待io的,等待磁盘读写,要把这个数据读出来,数据的读写也要等待的吧。那么这个时间比是多少。就是我等待你的时间比是多少,就是%util

CentOS 7 巨大变动之 systemd 取代 SysV的Init

别等时光非礼了梦想. 提交于 2019-12-01 20:55:18
1 systemd是什么 首先systmed是一个用户空间的程序,属于应用程序,不属于Linux内核范畴,Linux内核的主要特征在所有发行版中是统一的,厂商可以自由改变的是用户空间的应用程序。 Linux内核加载启动后,用户空间的第一个进程就是初始化进程,这个程序的物理文件约定位于/sbin/init,当然也可以通过传递内核参数来让内核启动指定的程序。这个进程的特点是进程号为1,代表第一个运行的用户空间进程。不同发行版采用了不同的启动程序,主要有以下几种主流选择: (1)以Ubuntu为代表的Linux发行版采用upstart。 (2)以7.0版本之前的CentOS为代表的System V init。 (3)CentOS7.0版本的systemd。 下面是CentOS6.5和CentOS7两个版本初始化进程的信息截图。 CentOS6.5采用的是systemV init CentOS7 采用的是systemd 2 Systemd物理文件组成 systemd是一个完整的软件包,安装完成后有很多物理文件组成,大致分布为,配置文件位于/etc/systemd这个目录下,配置工具命令位于/bin,和/sbin这两个目录下,预先准备的备用配置文件位于/lib/systemd目录下,还有库文件和帮助手册等等。这是一个庞大的软件包。详情使用rpm -ql systemd即可查看。

linux systemd 定时器

家住魔仙堡 提交于 2019-12-01 20:54:53
Systemd 作为 Linux 的系统启动器,功能强大。 一、定时任务 所谓定时任务,就是未来的某个或多个时点,预定要执行的任务,比如每五分钟收一次邮件、每天半夜两点分析一下日志等等。 Linux 系统通常都使用 cron 设置定时任务,但是 Systemd 也有这个功能,而且优点显著。 自动生成日志,配合 Systemd 的日志工具,很方便除错 可以设置内存和 CPU 的使用额度,比如最多使用50%的 CPU 任务可以拆分,依赖其他 Systemd 单元,完成非常复杂的任务 下面,我就来演示一个 Systemd 定时任务:每小时发送一封电子邮件。 二、邮件脚本 先写一个发邮件的脚本 mail.sh 。 #!/usr/bin/env bash echo "This is the body" | /usr/bin/mail -s "Subject" someone@example .com 上面代码的 someone@example.com ,请替换成你的邮箱地址。 然后,执行这个脚本。 $ bash mail.sh 执行后,你应该就会收到一封邮件,标题为 Subject 。 如果你的 Linux 系统不能发邮件,建议安装 ssmtp 或者 msmtp 。另外, mail 命令的用法,可以参考 这里 。 三、Systemd 单元 学习 Systemd 的第一步,就是搞懂"单元"

centos7的服务管理systemctl

。_饼干妹妹 提交于 2019-12-01 20:18:00
Linux Systemctl是一个系统管理守护进程、工具和库的集合,用于取代System V、service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器。通过Systemctl –help可以看到该命令主要分为:查询或发送控制命令给systemd服务,管理单元服务的命令,服务文件的相关命令,任务、环境、快照相关命令,systemd服务的配置重载,系统开机关机相关的命令。 1.启动、重启、停止、重载服务以及检查服务(如 httpd.service)状态 systemctl start httpd.service systemctl restart httpd.service systemctl stop httpd.service systemctl reload httpd.service systemctl status httpd.service 注意:当我们使用systemctl的start,restart,stop和reload命令时,终端不会输出任何内容,只有status命令可以打印输出。 2. 如何激活服务并在开机时启用或禁用服务(即系统启动时自动启动mysql.service服务) systemctl is-active mysql.service systemctl enable mysql.service systemctl

How Can Python Handle systemctl stop?

*爱你&永不变心* 提交于 2019-12-01 19:30:41
问题 I have a Python script that is running as a service. It writes to disk. If a user calls systemctl stop on the service, I would like to handle the command in my own way to reduce the risk of file corruption. How can I catch the systemctl stop command? My file in /usr/lib/systemd/system is: [Unit] Description=foo [Service] Type=simple ExecStart=/usr/bin/python /srv/go.py User=jon Restart=always [Install] WantedBy=graphical.target My Python script is: #!/usr/bin/python import time import

Kubernetes V1.15 二进制部署集群

喜你入骨 提交于 2019-12-01 18:59:37
Kubernetes V1.15 二进制部署集群 分类: Web应用 , 敏捷开发 , 容器/虚拟化 , 玩转Linux undefined 1. 架构篇 1.1 kubernetes 架构说明 1.2 Flannel网络架构图 集群功能各模块功能描述: Master节点: Master节点上面主要由四个模块组成,APIServer,schedule,controller-manager,etcd APIServer: APIServer负责对外提供RESTful的kubernetes API的服务,它是系统管理指令的统一接口,任何对资源的增删该查都要交给APIServer处理后再交给etcd,如图,kubectl(kubernetes提供的客户端工具,该工具内部是对kubernetes API的调用)是直接和APIServer交互的。 schedule: schedule负责调度Pod到合适的Node上,如果把scheduler看成一个黑匣子,那么它的输入是pod和由多个Node组成的列表,输出是Pod和一个Node的绑定。 kubernetes目前提供了调度算法,同样也保留了接口。用户根据自己的需求定义自己的调度算法。 controller manager: 如果APIServer做的是前台的工作的话,那么controller manager就是负责后台的