路飛學城運維人員
在線流程圖軟件
Ago linux運維羣: 93324526 筆者QQ:578843228html
經常使用安裝包下載linux
yum install -y epel-release yum -y install bash-completion yum -y install net-tools yum -y install iproute yum -y install wget vim yum -y install lrzsz nmap tree dos2unix nc telnet yum -y install openssl
1. 系統第一個進程(pid=1)爲init 2. init進程是全部進程的祖先,不可kill, 3. 大多數linux發行版的init系統是和systemV相兼容,被稱爲sysvinit 4. 表明系統: C5 C6
用於服務器時代
sysvinit運行很是良好,概念簡單清晰。它主要依賴於shell腳本
1. 按照必定順序執行-->啓動太慢。 2. 很容易hang住,fstab與nfs掛載問題。
我的PC機和移動平臺,須要便捷,快的系統。
CentOS6採用了Upstart技術代替sysvinit進行引導。upstart對rc,sysinit腳本作了大量得優化,縮短了系統初始化時得啓動時間。可是C6爲了簡便管理員得操做,upstart得不少特性並無凸顯或者直接不支持。所以再C6中的服務啓動腳本仍是以原來sysv的形式提供,因此咱們依然採用sysvinit的圖講解C6的系統初始化過程(initctl) 一個應運而生的技術,卻由於競爭對手太強大,而被淘汰。 表明體統:C6,Ubuntu14. http://0pointer.de/blog/projects/why.html
新系統都會採用的技術(RedHat7,C7,Ubuntu15等) 設計目標時克服sysvinit固有的缺點,提升系統的啓動速度。 和sysvint兼容,下降遷移成本 主要優勢:並行啓動。 pid爲1的進程 /usr/lib/systemd/systemd [root@aige ~]# ps -ef | head -2 UID PID PPID C STIME TTY TIME CMD root 1 0 0 20:39 ? 00:00:11 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
1. init:總時間T1+T2+T3+T4+T5+T6+T7 2. upstart:總時間T1+T2+T3,啓動速度加快,可是有依賴關係的服務仍是必須前後啓動。 3. system:總時間T,即便有依賴關係的服務,也能併發啓動。 併發啓動原理之一:解決socket依賴/端口依賴。 併發啓動原理之二:解決D-Bus依賴:採用了D-Bus做爲程序之間的通訊工具,相似消息隊列,能夠緩存信息。 併發啓動原理之三:解決文件系統依賴:相似autofs機制。
地址:http://vault.centos.org/ #老版的系統
或者阿里雲鏡像。
鏡像名字解釋:CentOS-7-x86_64-DVD-1611.iso
CentOS-7:系統版本
x86_64:64位操做系統,而且從7以偶再也不提供32位鏡像。
1611:2016年11月發表的版本
圖解安裝ios
傳統上,Linux的網絡接口名稱爲eth0,eth1,但這些名稱並不必定符合實際的硬件插槽等,這可能會致使不一樣的網絡配置錯誤(例如,由無心的接口更名引發的禁止接口),基於MAC短地址的udev規則在虛擬化的環境中並不有用,這裏的MAC短地址如端口數量同樣無償。 C6/RHEL6引入了一致和可預測的網絡設備命名網絡接口的方法,這些特性能夠惟一的肯定網絡接口的名稱以使定位和區分設備更容易,而且在這樣一種方式下,不管是否重啓機器,過了多少時間,或者改變硬件,其名字都是持久不變的。然而,這種命名規則並非默認在CeentOS//RHEL6上開啓的。 從C77/RHEL7起,這種可碰見的命名規則變成了默認。根據這一個規則,接口名稱被自動基於固件,拓撲結構和位置信息來肯定,如今即便添加或移除網絡設備,接口名稱仍然保持固定,而無需從新枚舉,和壞掉的硬件能夠無縫替換。 可是。先進的技術向咱們屈服了。 CeentOS7修改網卡名稱爲eth0:詳情,後期補充博客。 1. 在安裝系統的時候配置:修改內核選項,net.ifnames=0 biosdevname=0 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命令
hostname Aige -->臨時生效 編輯/etc/hostname -->主機名的配置文件變了。 hhostnamectl set-hostname Aige ##->方法2,本質仍是改配置文件。
localectl set-locale LANG=zh_CN.UTF-8 編輯/etc/locale.conf cat /etc/redhat-release #查看系統版本號 cat /etc/os-release #全部支持systemd系統的統一發行版本名稱和版本號文件
[root@aige ~]# [root@aige ~]# hostnamectl status Static hostname: aige Icon name: computer-vm Chassis: vm Machine ID: a8c2e32a13e04d2cb34985e01cd1aa52 Boot ID: 5ce9c2ba6ad64adda044f4b83a848d91 Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-327.el7.x86_64 Architecture: x86-64
[root@aige ~]# cat /etc/locale.conf LANG="en_US.UTF-8" [root@aige ~]# localectl --h [root@aige ~]# localectl status System Locale: LANG=en_US.UTF-8 VC Keymap: us X11 Layout: us
[root@aige ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
C7開始不默認支持rc.local了。若有須要,請自行添加權限。 # Please note that you must run 'chmod +x /etc/rc.local' to ensure # that this script will be executed during boot.
Runlevelshell
[root@aige ~]# cat /etc/inittab # inittab is no longer used when using systemd.
當前啓動級別。vim
[root@aige ~]# systemctl get-default multi-user.target
設置啓動級別centos
[root@aige ~]# systemctl set-default multi-user.target
查看從前的runlived變成了什麼樣。緩存
ls -lh /usr/lib/systemd/system/runlevel*.target
全部可用的單元文件存放在/usr/lib/systemd/system/和/etc/system/system/目錄(後者優先級更高)bash
ll -h /etc/systemd/system/default.target [root@aige ~]# ls -lh /usr/lib/systemd/system/runlevel*.target lrwxrwxrwx. 1 root root 15 Apr 21 19:33 /usr/lib/systemd/system/runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 13 Apr 21 19:33 /usr/lib/systemd/system/runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 16 Apr 21 19:33 /usr/lib/systemd/system/runlevel5.target -> graphical.target lrwxrwxrwx. 1 root root 13 Apr 21 19:33 /usr/lib/systemd/system/runlevel6.target -> reboot.target ls /etc/systemd/system 系統 ls /usr/lib/systemd/system 用戶
http://www.jinbuguo.com/systemd/systemd.service.html服務器
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 當建立新服務文件或者變動設置時使用
開機自起查詢
systemctl list-unit-files systemctl list-unit-files|grep enabled|wc -l
[root@aige ~]# 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
查看系統優化
systemd-analyze time systemd-analyze blame systemd-analyze plot>bootime.svg # 導出圖片