システムが起動 - サービス - ログインプロセス - カーネルパラメータ

 

centos6システムのブートプロセス

  • 1.ロードBIOSのハードウェア情報、および最初のブートデバイスを取得
  • 2.読む最初のブートデバイスのMBRブートローダー(GRUB)の情報を開始
  • 3.ロードコアオペレーティングシステムのコア情報は、コアは、解凍して、すべてのハードウェアデバイスを駆動しようとし始めました
  • 4. initプログラムのコア、およびデフォルトの動作情報を取得します
  • 5.initプログラム実行/etc/rc.d/rc.sysinitファイル
  • プラグインモジュールのコアを起動6
  • 各実行の7.init実行するバッチファイル(スクリプト)
  • 8.init実行/etc/rc.d/rc.localの
  • 9.実行/ binに/ loginプログラム、ログへのユーザーのための待機
  • 後10.シェルのコントロールパネルにログインを開始します

GRUBの過程でカーネルをロードします、/boot/initramfs.imgでは/ boot /のvmlinuxファイルをロードすることが重要です

カーネルファイルをロードするカーネルファイルがディスクに存在し、CD-ROMのファイル比較、私はまったく同じファイルを参照することができ、あなたはこのファイルを失った場合、あなたはCD-ROMを通じて取得することができますので、initramfs.imgファイルは実際には小さいです彼が失われた場合は、彼を見つけるために、ドライバの必要性をロードするために、ブート時にシステムを操作し、救助CD、MODE 2 1人の救助のchrootを/ mnt / sysimageによって発見された   3のmkinitrd /ブーツ/ initramfsが-`uname -r`.img `のuname - r`    4番出口、出口、4つのステップ上記の再起動を求めることができます。

     

 

 

 あなたは、initプロセスは、/ etc / initabをロードします実行すると、

 システム実行レベル

 

/etc/inittab 文件定义了系统的默认启动方式,同时也指定了,每个系统运行级别,后面有个参数,就是指定要去加载那个rc#.d/下面的脚本,比如当前运行级别为3,就会加载rc3.d下面的脚本文件,这些服务脚本,主要是K/S 开头的,K表示停止,S表示运行。数字的含义就是表示顺序。越大表示越后面。而在每个rc#.d/下面都有一个S99local-->rc.local。所以/etc/rc.d/rc.local的作用就是,开机你想运行的脚本 扔在这里就可以了。而对于Centos7就要加上X权限才可以使用

自己编写Centos6 服务脚本

版本6

Service atd restart   service 其实就是 运行一个脚本  /etc/init.d/SCRIPT

 

chkconfig  --list  查看系统服务列表(自启情况)

    on 表示 开启 off表示关闭

 

chkconfig vsftpd  on/off   全开 在2 3  4 5 状态下开启

 

 /etc/rc.d/rc.local     /etc/rc.local   这两个文件 开机就会运行,所以也可以把启动命令写在这里,就可以做到开机自启

 

xinetd 瞬态服务

对于一些访问量不大的服务来讲,你还要跑,因为有很少一部分还是需要用到的,你服务一直开启也是一个浪费,所以会有xinetd服务去代理,这些访问量不大的服务都由xinetd去代理,平常只有xinetd服务开启,当有用户访问服务时,由xinetd去唤醒对应的服务提供服务,当服务完成时,对应的服务就会关掉,但是xinetd服务会一直开启。而在CentOS7上已经没有xinetd了,由systemd完成的。

 

 

 Centos7来讲,系统第一个进程已经不是init,而是systemd,它不再去读取inittab文件

版本7

/usr/lib/systemd/system:每个服务最主要的启动脚本设置,类似于之前的 /etc/init.d/ 

/usr/lib/systemd/system/atd.service

命令:systemctl COMMAND name.service 

  • 重载或重启服务:先加载,再启动  systemctl reload-or-restart name.service 
  • 查看某服务当前激活与否的状态:  systemctl is-active name.service
  • 查看所有已经激活的服务:  systemctl list-units --type|-t service 
  • 查看所有服务:  systemctl list-units --type service --all|-a 
  • 查看所有服务的开机自启状态:  chkconfig --list ==> systemctl list-unit-files --type service 
  • 用来列出该服务在哪些运行级别下启用和禁用  chkconfig sshd –list ==>      ls /etc/systemd/system/*.wants/sshd.service
  • 查看服务是否开机自启:  systemctl is-enabled name.service
  • systemctl    restart  atd.service 
  • systemctl disable crond.service
  •  systemctl enable crond.service

Centos7添加服务到 systemctl管理中

 

注意:对于新创建的unit文件,或者修改了的unit文件,要通知systemd重载此 配置文件,而后可以选择重启  systemctl  daemon-reload  

 

开机默认 运行级别

 

 

 

用户登录流程

全局配置: 

  /etc/profile 

  /etc/profile.d/*.sh 

  /etc/bashrc

个人配置: 

  ~/.bash_profile 

  ~/.bashrc

用户登录脚本执行顺序

    执行顺序:/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

 

全局:  /etc/profile, /etc/profile.d/*.sh 

个人:   ~/.bash_profile 

功用:  (1) 用于定义环境变量  (2) 运行命令或脚本

 

全局:/etc/bashrc 

个人:~/.bashrc 

功用:  (1) 定义命令别名和函数  (2) 定义本地变量 

  修改profile和bashrc文件后需生效 

     source  /etc/profile

退出任务

  ~/.bash_logout文件中(用户)     创建自动备份    清除临时文件

 

 内核参数

/proc/sys/ 系统内核各种参数  如 /proc/sys/net/ipv4

因为这些都是在内存中的,所以修改了不能保存,所以可以通过工具 sysctl工具进行修改内核参数,

sysctl -a 查看系统所有内核参数

/etc/sysctl.conf 配置文件管理的就是/proc/sys中的内核参数

/etc/sysctl.conf 配置文件中 将需要的参数写进去就可以保存了,sysctl  -p重新生效

 

 

SELinux

getenforce

/etc/selinux/config

おすすめ

転載: www.cnblogs.com/hxfcodelife/p/12024815.html