centos7

centos7.6 系統安裝及優化

一. centos的演變

 

1.Sysvinit技術

 

1.1啓動流程

串行啓動: 一次一個,一個個啓動linux

並行啓動: 所有一塊兒啓動ios

1.2 init特色

②系統第1個進程(pid=1)爲initvim

③Init進程是全部進程的祖先,不可kill;大多數Linux發行版的init系統是和SystemV相兼容的,被稱爲sysvinit。centos

④表明系統:CentOS5bash

 

1.3 init優勢

SysVinit運行很是良好,概念簡單清晰。它主要依賴於Shell腳本。服務器

 

1.4  init 缺點

① 啓動慢網絡

② 容易hang住 ,fatab於nfs掛載問題併發

 

2.Upstart技術

CentOS6採用了Upstart技術代替sysvinit進行引導,Upstart對rc.sysinit腳本作了大量的優化,縮短了系統初始化時的啓動時間。可是CentOS6爲了簡便管理員的操做,upstart的不少特性並無凸顯或者直接不支持,所以在CentOS6中的服務啓動腳本仍是以原來SysV的形式提供的。ssh

But,一個應運而生的技術,卻由於競爭對手太強大,而被淘汰。socket

 

表明系統: CentOS6 ,Ubuntu14,從CentOS7,Ubuntu15開始使用systemd

 

3.Systemd技術

克服init固有缺點,提升系統的啓動速度

3.1最主要優勢:並行啓動

pid爲1的進程 /usr/lib/systemd/systemd

[root@moban7 ~]# ps -ef | head -2

UID         PID   PPID  C STIME TTY          TIME CMD

root          1      0  0 Dec24 ?        00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 22

 

4. 三種啓動對比

4.1 對比圖

 

4.2 併發啓動原理之一

4.2.1解決 socket 依賴/端口依賴

 

 

 

4.2.2解決D-Bus

 

 

 

4.2.3解決文件系統依賴、相似autofs機制

 

 

 

二 centos7 安裝

1)系統安裝

 

 

2)按下TAB鍵

 

 添加內核參數 讓網卡名稱變爲eth*

空格 輸入 net.ifnames=0 biosdevname=0 而後回車

 

 

 

 

 

 

4) 設置網絡鏈接和主機名

 

 

 

 

 

5) 設置ip地址

 

 

 

 

 

 

 

 

關閉密碼保護

 

 

選擇關閉

 

 

關閉KDUMP功能

 

 

 

 

安裝軟件

yum install  vim wget bash-completion lrzsz nmap  nc  tree  htop iftop  net-tools -y

 

 

三 centos6與centos7區別

1. 網卡名不一樣

eth0  與enp3s0

2. 網絡配置相關命令

 

  1. ip:yum -y install iproute
    CeentOS7主推薦使用,ip、ss命令
    2.ifconfig:yum -y install nnet-tools
    3.setup:yum -y install ssetuptool (廢棄命令)
    安裝完以後,發現這只是一個圖形工具,須要用到的網絡服務,防火牆,系統服務等須要另外再安裝。
    安裝好setup ttools工具以後。須要安裝組件有:
    系統服務:nesysv
    網絡服務:system-config-networkui
    防火牆配置。iptables
    4.nnmtui:代替setup命令

 

3.主機名等配置文件。

3.1.修改主機名

hostname mobantest -->臨時生效

編輯/etc/hostname -->主機名的配置文件變了。

hhostnamectl set-hostname mobantest ##->方法2,本質仍是改配置文件。

 

3.2. 修改字符集

localectl set-locale LANG=zh_CN.UTF-8

vim /etc/locale.conf

cat /etc/redhat-release #查看系統版本號

cat /etc/os-release   #全部支持systemd系統的統一發行版本名稱和版本號文件

 

3.3. /etc.rc.local

 

C7開始不默認支持rc.local了。若有須要,請自行添加權限。

# Please note that you must run 'chmod +x /etc/rc.local' to ensure

# that this script will be executed during boot.

 

3.4 運行級別Runlevel

 

Runlevel

 

[root@moban7 ~]# cat /etc/inittab

# inittab is no longer used when using systemd.

當前啓動級別。

 

[root@moban7 ~]# systemctl get-default

multi-user.target

 

設置啓動級別

[root@moban7 ~]# systemctl set-default multi-user.target

 

3.5 systemd一統天下

 

查看從前的runlived變成了什麼樣。

 

ls -lh /usr/lib/systemd/system/runlevel*.target

全部可用的單元文件存放在/usr/lib/systemd/system/和/etc/system/system/目錄(後者優先級更高)

 

[root@moban7 ~]# ll -h /etc/systemd/system/default.target

lrwxrwxrwx. 1 root root 41 Dec 25 17:20 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target

 

 

[root@moban7 ~]# ls -lh /usr/lib/systemd/system/runlevel*.target

lrwxrwxrwx. 1 root root 15 Dec 24 18:16 /usr/lib/systemd/system/runlevel0.target -> poweroff.target

lrwxrwxrwx. 1 root root 13 Dec 24 18:16 /usr/lib/systemd/system/runlevel1.target -> rescue.target

lrwxrwxrwx. 1 root root 17 Dec 24 18:16 /usr/lib/systemd/system/runlevel2.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 Dec 24 18:16 /usr/lib/systemd/system/runlevel3.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 Dec 24 18:16 /usr/lib/systemd/system/runlevel4.target -> multi-user.target

lrwxrwxrwx. 1 root root 16 Dec 24 18:16 /usr/lib/systemd/system/runlevel5.target -> graphical.target

lrwxrwxrwx. 1 root root 13 Dec 24 18:16 /usr/lib/systemd/system/runlevel6.target -> reboot.target

 

 

ls /etc/systemd/system  系統

ls /usr/lib/systemd/system  用戶

 

 

 

3.6.管理服務

 

chkconfig

service

/etc/init.d/

systemctl:融合service和chkconfig的功能於一體,兼容sysv和LSB的啓動腳本,並且夠在進程啓動過程當中更有效地引導加載服務。

 

 

 

sysvinit命令  systemctl命令   備註
service crond start   systemctl start crond.service       啓動服務
service crond stop systemctl stop crond.service  中止服務
service crond restart     systemctl restart crond.service  重啓服務
service crond reload  systemctl reload crond.service  當支持時,從新裝載配置文件而不中斷等待操做
service crond condrestart  systemctl condrestart crond.service  若是服務正在運行,那麼重啓它
service crond status  systemctl status crond.service  查看服務運行狀態
chkconfig --list  systemctl list-unit-files  輸出在各個運行級別嚇服務的啓動和禁用狀況
chkconfig crond on  systemctl enable crond.service   在下次啓動時或知足其餘觸發條件時設置服務爲啓動
chkconfig crond off     systemctl disable crond.service          在下次啓動時或知足其餘觸發條件時設置服務爲禁用
chkconfig --list crond    systemctl is-enabled crond.service  用來檢查一個服務在當前環境在被配置爲啓動仍是禁用
chkconfig --add crond  systemctl daemon-reload      當建立新服務文件或者變動設置時使用

 

3.6.1推薦關閉服務

 

[root@moban7 ~]# systemctl list-unit-files | grep enabled

abrt-ccpp.service                           enabled       x

abrt-oops.service                           enabled       x

abrt-vmcore.service                         enabled       x

abrt-xorg.service                           enabled       x

abrtd.service                               enabled       x # 調試相關服務

auditd.service                              enabled       x # selinux 相關

crond.service                               enabled         # 定時任務

dbus-org.fedoraproject.FirewallD1.service    enabled         # d-bus相關,系統服務

dbus-org.freedesktop.NetworkManager.service enabled         # d-bus相關,系統服務

dbus-org.freedesktop.nm-dispatcher.service  enabled         # d-bus相關,系統服務

firewalld.service                           enabled       x # 防火牆

getty@.service                              enabled         # tty窗口

irqbalance.service                          enabled         # 多核cpu調度

microcode.service                           enabled       x # intel的CPU會提供一個外掛的微指令集提供系統運行

NetworkManager-dispatcher.service           enabled         # 網絡相關

NetworkManager.service                      enabled         # 網絡相關

postfix.service                             enabled       x # 系統郵件

rsyslog.service                             enabled         # 系統日誌

sshd.service                                enabled         # ssh服務

systemd-readahead-collect.service           enabled         # 系統服務

systemd-readahead-drop.service              enabled         # 系統服務

systemd-readahead-replay.service            enabled         # 系統服務

tuned.service                               enabled         # 服務器能耗管理

default.target                              enabled       

multi-user.target                           enabled       

remote-fs.target                            enabled

 

3.7 開機自起查詢

 

systemctl list-unit-files

systemctl list-unit-files|grep enabled|wc -l

 

 

 

3.8 系統優化

 

systemd-analyze time

systemd-analyze blame

systemd-analyze plot>bootime.svg # 導出圖片

 

 

 

相關文章
相關標籤/搜索