centos7虛擬機安裝

                              Centos7linux

第1章 CENTOS 7 簡介

1.1 centos的演變

啓動流程sysvinitios

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

並行啓動:所有的一塊兒啓動ubuntu

init優勢vim

運行很是良好。主要依賴於shell腳本centos

init缺點緩存

一、啓動慢bash

二、容易夯住,fstab與nfs掛載問題網絡

1.2 upstart 技術

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

1.3 systemd技術

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

優勢:並行啓動

1.4 並行啓動三大原理

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

    socket 網絡套接字文件

二、解決D-Bus

依賴:採用了D-Bus 爲程序之間的通信工具,相似消息隊列,能夠緩存信息

三、解決文件系統依賴、相似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

相關文章
相關標籤/搜索