centos7虛擬機安裝


                              Centos7

第1章 CENTOS 7 簡介

1.1 centos的演變

啟動流程sysvinit

串行啟動:一次一個, 一個一個啟動

並行啟動:全部的一起啟動

init優點

運行非常良好。主要依賴於shell腳本

init缺點

1、啟動慢

2、容易夯住,fstab與nfs掛載問題

1.2 upstart 技術

upstart對rc.sysvinit腳本做了大量優化,縮短系統初始化的啟動時間 代表作Centos6  ubuntu15等

1.3 systemd技術

設計目標是克服sysvinit固有的缺點,提高系統的啟動速度,和sysvinit兼容,降低遷移成本

優點:並行啟動

1.4 並行啟動三大原理

1、解決socket 依賴/端口依賴

    socket 網絡套接字文件

2、解決D-Bus

依賴:采用了D-Bus 為程序之間的通訊工具,類似消息隊列,可以緩存信息

3、解決文件系統依賴、類似autofs機制

第2章 安裝centos7

2.1 1.虛擬機選擇

 

 

 

 

 

 

2.2 系統安裝

2.2.1 開機進入安裝 

 

 

2.2.2 TAB鍵

 

 

空格 輸入 net.ifnames=0 biosdevname=0 然后回車

2.2.3 選擇語言

 

 

2.2.4 設置網絡連接和主機名

 

 

2.2.5 注意勾選開機啟動

 

 

2.2.6 設置ip地址

 

 

2.2.7 修改主機名

 

 

 

 

2.2.8 選擇安裝的環境,選擇最小化安裝

 

 

2.2.9 磁盤分區自定義分區

 

 

選擇/boot 掛載點的大小一個G

 

 

 

Swap

注意選擇都為標准分區類型,直接寫到磁盤

添加根分區后選擇完成  xfs 格式

 

 

2.2.10 關閉密碼保護

 

 

選擇關閉

 

 

2.2.11 關閉KDUMP功能

 

 

2.2.12 開始安裝,安裝過程中設置root密碼

 

 

第3章 優化

3.1 修改yum源 epel源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum -y install vim lrzsz wget bash-completion.noarch  bash-completion-extras.noarch  dos2unix tree htop telnet 

bash-completion  補全命令包

關閉防火牆

[root@CentOS7 ~]# systemctl disable firewalld.service 

[root@CentOS7 ~]# systemctl stop firewalld.service 

關閉seliux

[root@Centos7 ~]# sed -i 's#enforcing#disabled#g'  /etc/selinux/config

Ssh優化遠程連接 

vim  /etc/ssh/sshd_config

         Port 52113                                  #使用大於10000的端口號

         PermitRootLogin no                          #禁止root遠程登錄

         PermitEmptyPasswords no                     #禁止空密碼登錄

         UseDNS no                                   #不使用dns解析

         GSSAPIAuthentication no                     #連接慢的解決配置

重啟生效systemctl restart sshd

3.2 提權用戶oldboy

useradd oldboy

passwd oldboy

visudo

93 oldboy ALL=(ALL)     NOPASSWD: ALL

visudo -c 生效

3.3 時間同步

echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >> /var/spool/cron/root

3.4 主機名配置

臨時 hostname     永久  /etc/hostname

 

hostnamectl set-hostname  主機名
cat /etc/hostname 
查看     hostnamectl
Bash   生效

3.5 字符集

臨時

[root@clsn ~]# echo $LANG

zh_CN.UTF-

永久

[root@clsn ~]# cat /etc/locale.conf

LANG="zh_CN.UTF-8"

[root@oldboyedu39 ~]# export LANG=en_US.UTF-8 ####修改

[root@oldboyedu39 ~]#  echo $LANG  ###查看

en_US.UTF-8

[root@oldboyedu39 ~]#

 

3.6 開機啟動項優化

[root@kickstart ~]# systemctl list-unit-files|egrep "^ab|^aud|^kdump|vm|^md|^mic|^post|lvm"  |awk '{print $1}'|sed -r 's#(.*)#systemctl disable &#g'|bash

 

第4章 6與7的區別

4.1 網卡配置

6   setup     7     nmtui

4.2 兼容的rc.local

cat /etc/rc.local
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

想要使用rc.local要給他可執行權限

[root@clsn bin]# chmod +x /etc/rc.d/rc.local

[root@clsn bin]# ll /etc/rc.d/rc.local

-rwxr-xr-x. 1 root root 473 11月  7 2016 /etc/rc.d/rc.local

4.3 運行級別Runlevel

之前的查看運行級別的方法依舊使用

[root@clsn init.d]# runlevel

N 3

原運行級別文件

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

lrwxrwxrwx. 1 root root 15 11月 13 11:16 /usr/lib/systemd/system/runlevel0.target -> poweroff.target

lrwxrwxrwx. 1 root root 13 11月 13 11:16 /usr/lib/systemd/system/runlevel1.target -> rescue.target

lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel2.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel3.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel4.target -> multi-user.target

lrwxrwxrwx. 1 root root 16 11月 13 11:16 /usr/lib/systemd/system/runlevel5.target -> graphical.target

lrwxrwxrwx. 1 root root 13 11月 13 11:16 /usr/lib/systemd/system/runlevel6.target -> reboot.target

7中設置運行級別

root@clsn init.d]#  systemctl get-default multi-user.target

systemctl get-default  #查看運行級別

示例

 

[root@clsn ~]# systemctl get-default

multi-user.target

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

Removed symlink /etc/systemd/system/default.target.

Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

 

運行級別的變更

 

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

lrwxrwxrwx. 1 root root 15 11月 13 11:16 /usr/lib/systemd/system/runlevel0.target -> poweroff.target

lrwxrwxrwx. 1 root root 13 11月 13 11:16 /usr/lib/systemd/system/runlevel1.target -> rescue.target

lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel2.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel3.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 11月 13 11:16 /usr/lib/systemd/system/runlevel4.target -> multi-user.target

lrwxrwxrwx. 1 root root 16 11月 13 11:16 /usr/lib/systemd/system/runlevel5.target -> graphical.target

lrwxrwxrwx. 1 root root 13 11月 13 11:16 /usr/lib/systemd/system/runlevel6.target -> reboot.target

 

4.4 系統啟動文件的目錄

[root@clsn init.d]# ls /usr/lib/systemd/system

啟動命令示例

 

[root@clsn init.d]# cat  /usr/lib/systemd/system/crond.service

[Unit]

Description=Command Scheduler

After=auditd.service systemd-user-sessions.service time-sync.target

 

[Service]

EnvironmentFile=/etc/sysconfig/crond

ExecStart=/usr/sbin/crond -n $CRONDARGS

ExecReload=/bin/kill -HUP $MAINPID

KillMode=process

 

[Install]

WantedBy=multi-user.target

4.5 查看所有服務運行狀態

[root@oldboy system]# systemctl list-unit-files 

4.6 命令對比

 

systemctl start crond.service和systemctl start crond效果一樣。

4.7 開機時間優化

systemd-analyze time

systemd-analyze blame

systemd-analyze plot  >bootime.avg

開機啟動時間

[root@clsn system]# systemd-analyze time

Startup finished in 387ms (kernel) + 1.406s (initrd) + 31.831s (userspace) = 33.626s

查看具體的使用時間

[root@clsn system]# systemd-analyze blame

         10.812s sshd-keygen.service

         10.758s abrt-ccpp.service

          6.395s chronyd.service

 

 

SELINUX=disabled

 

setenforce 0

getenforce

 

3.關閉 Firewalld

做實驗的時候,端口無法訪問的事情是經常發生的。

systemctl status firewalld

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

firewall-cmd --state


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM