centos7基礎配置及基礎優化


1    centos7安裝及優化

1.1  通過U盤安裝物理服務器注意事項(Dell R710)

使用U盤安裝centos7,選擇UEFI方式安裝(最好修改BIOS為傳統方式啟動),在安裝選擇選項的時候,可能要給U盤一個掛載點(U盤卷標問題),選擇第一項,按e編輯,將 LABEL=CentOS\x207\x20\86_64  替換為 /dev/sda4  (注意這個名稱不能和硬盤已經分好的區編號重復),然后按 Ctrl+x 啟動安裝。

注意:

安裝centos7系統,boot引導分區大小建議700-1024M左右,centos7雲計算要使用到很大的空間。

1.1.1    安裝系統時修改網卡名稱為eth0操作

掛載鏡像后,進入系統在第一個選項按tab鍵后輸入參數,回車(修改網卡名稱為eth0)

輸入net.ifnames=0 biosdevname=0   #net前面有個空格。

PS:此操作也可以在安裝完系統后再修改,效果是一樣的,具體是在 /etc/sysconfig/grub文件中添加了內容。

 

1.1.2 安裝時的其他選項

全部選擇英文字符集,不要選擇中文,習慣英文就好。

選擇Minimal Install(最小化安裝

Debugging Tools

Compatiblity Libraries

Development Tools

硬盤分區時選擇自定義

I wiil configure partitioning

點擊+號,添加常規分區boot、swap、根、分區

分區:/boot   容量:1G    說明:boot要分700M到1個G,雲計算需要依賴,所以比較大。

分區: swap        容量:1G   說明:工作一般不會用到swap.只有內存不夠才使用swap,工作有監控,內存不足80%會報錯,磁盤滿了,最后才會使用swap

分區:/          容量:剩余  說明:一般所有剩余容量分給根目錄,如果不夠可以分區給一個目錄。

分區完畢下一步后,點擊Accept Changes

關閉Engble kdump(系統崩潰捕捉信息)

設置主機名Centos7或其他主機名

到網卡配置里直接下一步,安裝完系統再配置網卡信息

關閉SECURITY POLICY安全機制,把ON關閉成OFF

點擊Begin Installation(開始安裝),安裝完成后再設置root密碼(解壓包過程最好不要設置root密碼,否則容易出錯)

1.2  常用快捷鍵

ctrl+A  光標跳最前

ctrl+E  光標跳最后

ctrl+U  刪除光標前所有字符

ctrl+K  刪除光標后所有字符

ctrl+R  搜索關鍵字相關命令歷史

ctrl+L  清屏(或clear命令) 

1.3  centos7服務管理命令預覽

啟動nginx服務            systemctl start nginx.service

設置/添加開機自啟動  systemctl enable nginx.service

停止/移除開機自啟動  systemctl disable nginx.service

查看服務當前狀態      systemctl status nginx.service

重新啟動服務             systemctl restart nginx.service

查看所有已啟動的服務 systemctl list-units --type=service

注意:

systemctl 命令需要總結

1.4  更改主機網卡名稱為eth0和配置主機IP地址,配置DNS

參考博客http://blog.51cto.com/oldboy/1722101 

強烈建議主機IP地址在安裝完系統后再設置,不要在開機的時候設置,否則可能要手工添加網卡配置文件

[root@oldboy network-scripts]# cp ifcfg-ens32 ifcfg-ens32.bak

[root@oldboy network-scripts]# mv ifcfg-ens32 ifcfg-eth0

[root@oldboy network-scripts]# vi ifcfg-eth0     #<==編輯配置文件並添加內容

[root@oldboy network-scripts]# cat ifcfg-eth0   #<==修改后的結果如下。

TYPE=Ethernet

BOOTPROTO=static     #設置為靜態IP地址,如果是自動獲取就設置為DHCP,后面#注釋靜態IP

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=eth0     #<==修改為eth0

UUID=3e8d1581-84bd-44e8-ae70-467fa29e2585

DEVICE=eth0   #<==修改為eth0 

ONBOOT=yes    #設置網卡開機自動啟動

PREFIX=24

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_PRIVACY=no

IPADDR=192.168.81.222

GATEWAY=192.168.80.1

NETMASK=255.255.254.0        #設置IP,添加NETMASK,子網掩碼地址

DNS1=202.96.128.86     #注意,CentOS7起DNS在網卡配置文件中配置

DNS2=202.96.128.166

[root@oldboy network-scripts]# systemctl restart network           #Centos7的network等網絡啟動程序,都在systemctl目錄下,和centos6有很大區別

修改grub菜單:

[root@oldboy network-scripts]# cat /etc/sysconfig/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g'/etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=128M rhgb net.ifnames=0 biosdevname=0 quiet"  #<==黃色底紋內容是添加的。

GRUB_DISABLE_RECOVERY="true"

[root@linux-node2 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg    #<==生成grub啟動菜單。

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-3.10.0-229.el7.x86_64

Found initrd image:/boot/initramfs-3.10.0-229.el7.x86_64.img

Found linux image:/boot/vmlinuz-0-rescue-1100f7e6c97d4afaad2e396403ba7f61

Found initrd image:/boot/initramfs-0-rescue-1100f7e6c97d4afaad2e396403ba7f61.img

Done

[root@oldboy network-scripts]# reboot   #重啟系統才生效,虛擬機可能要重啟2次

1.4.1    驗證網卡是否修改成功

[root@linux-node2 ~]# yum install net-tools -y  #<== centos7默認沒有ifconfig 需要安裝net-tools包

[root@oldboy network-scripts]# ifconfig                   #<==再次查看網卡信息

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet10.0.0.201  netmask 255.255.255.0  broadcast 10.0.0.255

        inet6fe80::20c:29ff:feae:ef19  prefixlen64  scopeid 0x20<link>

        ether00:0c:29:ae:ef:19  txqueuelen 1000  (Ethernet)

        RX packets36248  bytes 2319009 (2.2 MiB)

        RXerrors 0  dropped 0  overruns 0 frame 0

        TXpackets 43090  bytes 67555745 (64.4 MiB)

        TXerrors 0  dropped 0 overruns 0  carrier 0 collisions 0

備注:此操作可以在配置完yum源和epel源之后在配置

修改為eth0的原因:方便以后自動化管理ansble管理,或其他軟件批量管理。

1.4.2    centos7圖形化網卡管理工具nmtui

centos7 上管理網路的圖形化界面工具nmtui,類似於centos6的setup

 此命令可以代替系統服務,網絡服務,防火牆管理等

[root@meinv05 ~]# nmtui

1.4.3    centos7與centos網卡壞了修復好后的區別

Centos6網卡,有4個,如果eth0壞了,重新添加網卡進去后就會默認命名為eth4,后面多台機器就不好管理,需要人工修改

Centos7網卡,有4個,如果eth0壞了,重新添加網卡進去后就會默認命名為eth0,默認找到損壞的卡槽進去裝備,類似這樣的概念。

1.5  配置DNS服務器地址

[root@meinv05 ~]# cat /etc/resolv.conf    #注意:CentOS起在此配置DNS可能會和網卡起沖突,永久生效辦法是在網卡配置文件中配置DNS

# Generated by NetworkManager

nameserver 202.96.128.86

nameserver 202.96.128.166 

1.6  安裝系統必要的軟件

[root@meinv05 ~]# yum install -y wget vim lrzsz bash-completion dos2unix telnet tree net-tools namp sl nc psmisc

1.7  配置yum源和epel源為國內地址

注意:yum源和epel源要同時配置,centos7起這2個有依賴關系

[root@meinv05 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@meinv05 yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

[root@meinv05 Packages]# yum clean all && yum makecache  #清空緩存,重新生成緩存

[root@meinv05 Packages]# yum repolist enabled  #查看yum倉庫信息

阿里雲開源鏡像站https://opsx.alibaba.com/mirror

1.8  更改主機名

以下命令在centos7中修改主機名永久生效(2種方法)

[root@meinv05 ~]# hostnamectl set-hostname --static meinv05  #注意修改/etc/hosts與新主機名一致

[root@meinv05~]# vi /etc/hostname    #或編輯此配置文件(centos6沒有此文件)

meinv05

1.9  停止/關閉防火牆

[root@meinv05 ~]# systemctl stop firewalld.service   #暫時停止防火牆服務

備注:iptables不能系統的firewalld.serice服務同時存在,如果同時存在要rpm -e卸載iptables

[root@meinv05 ~]# systemctl disable firewalld.service  #永久關閉防火牆 

1.10  關閉selinux

[root@meinv05 ~]# grep enforcing /etc/selinux/config

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

[root@meinv05 ~]# setenforce

usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]

[root@meinv05 ~]# setenforce 0

setenforce: SELinux is disabled

[root@meinv05 ~]# getenforce   #之前已經關閉,所以顯示disabled

Disabled 

1.11    調整文件描述符大小為65535

[root@meinv05 ~]# ulimit -n   #查看系統默認文件描述符大小

1024

[root@meinv05 ~]# echo '*  -  nofile  65535' >>/etc/security/limits.conf  #調整為65535或更大

[root@meinv05 ~]# tail -1 /etc/security/limits.conf    

*  -  nofile  65535

[root@meinv05 ~]# ulimit -n  #ctrl+D退出重新登錄后查看已經生效

65535

1.12  授權普通用戶sudo管理

centos7下要下載安裝sudo命令包

[root@meinv05 ~]# yum install sudo               #大小為1.1M左右

[root@meinv05 ~]# useradd oldboy && echo "123456"|passwd --stdin oldboy

Changing password for user oldboy.

passwd: all authentication tokens updated successfully.

[root@meinv05 ~]# ll /etc/sudoers                   #此文件默認沒有寫權限

-r--r-----. 1 root root 3938 Apr 11  2018 /etc/sudoers

[root@meinv05 ~]# chmod +w /etc/sudoers     #root用戶也可以強制修改不加w權限

[root@meinv05 ~]# ll /etc/sudoers     

-rw-r-----. 1 root root 3938 Apr 11  2018 /etc/sudoers

[root@meinv05 ~]# visudo

## Allow root to run any commands anywhere

root    ALL=(ALL)       ALL 

oldboy  ALL=(ALL)       NOPASSWD: ALL     #新增加的行

[root@meinv05 ~]# visudo -c    #檢查語法

[root@meinv05 ~]# chmod -w /etc/sudoers

[root@meinv05 ~]# ll /etc/sudoers

-r--r----- 1 root root 3972 Dec  1 02:34 /etc/sudoers

1.13  更改用戶遠程連接端口和禁止root用戶登錄

[root@meinv05 ~]# grep -vE "^$|^#" /etc/ssh/sshd_config

HostKey /etc/ssh/ssh_host_rsa_key

HostKey /etc/ssh/ssh_host_ecdsa_key

HostKey /etc/ssh/ssh_host_ed25519_key

SyslogFacility AUTHPRIV

AuthorizedKeysFile      .ssh/authorized_keys

PasswordAuthentication yes

ChallengeResponseAuthentication no

GSSAPIAuthentication yes

GSSAPICleanupCredentials no

UsePAM yes

X11Forwarding yes

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE

AcceptEnv XMODIFIERS

Subsystem       sftp    /usr/libexec/openssh/sftp-server

[root@meinv05 ~]# cat /etc/ssh/sshd_config   #修改以下項

#PermitRootLogin yes    ======》PermitRootLogin no     #去掉注釋並改為no

#PermitEmptyPasswords no   ======》PermitEmptyPasswords no    #去掉注釋

GSSAPIAuthentication yes  ======》GSSAPIAuthentication no    #如果遠程連接慢要改這里為no

#UseDNS yes                 ======》UseDNS no  #不使用此DNS

#Port 22                      ======》Port 52113    #更改為其他端口

[root@meinv05 ~]# systemctl restart sshd.service  #記得重啟服務才生效(不生效就reboot)

[oldboy@meinv05 ~]$ sudo su -

Last login: Sat Dec  1 02:51:10 CST 2018 on tty1

[root@meinv05 ~]#

1.13.1    修改不生效解決辦法

[root@meinv05 ~]# systemctl status sshd.service   #查看sshd服務狀態

● sshd.service - OpenSSH server daemon

   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)

   Active: active (running) since Sat 2018-12-01 03:00:03 CST; 3min 26s ago

[root@meinv05 ~]# systemctl restart sshd.service  #重啟服務

[root@meinv05 ~]# systemctl enable sshd.service   #開機啟動服務

[root@meinv05 ~]# reboot

[root@meinv05 ~]# ss -lntup|grep sshd        #c7把netstat換成ss

1.14  修改系統字符集

 第一種方法:編輯/etc/locale.conf (c6是 /etc/sysconfig/i18n)

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

LANG="en_US.UTF-8"

[root@meinv05 ~]# source /etc/locale.conf    #生效修改的配置文件,和c6的路徑不一樣

第二種方法:

[root@meinv05 ~]# localectl set-locale LANG=zh_CN.UTF-8    #命令直接修改

注意:沒有必要不用修改,使用英文更好

1.15  查看系統版本號

[root@meinv05 ~]# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

[root@meinv05 ~]# cat /etc/os-release

1.16  查看系統運行級別

[root@meinv05 ~]# systemctl get-default   #和c6區別是用英文:命令行界面 顯示

multi-user.target

[root@meinv05 ~]# runlevel

N 3

1.16.1    設置運行級別命令

注意:c6和c7設置運行級別命令不一樣

[root@meinv05 ~]# systemctl set-default graphical.target   #臨時設置為圖形界面運行級別(忽略)

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

# inittab is no longer used when using systemd.

# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.

# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target

# systemd uses 'targets' instead of runlevels. By default, there are two main targets:

# multi-user.target: analogous to runlevel 3    #命令行界面

# graphical.target: analogous to runlevel 5     #圖形界面

# To view current default target, run:

# systemctl get-default

# To set a default target, run:

# systemctl set-default TARGET.target   #設置運行級別命令使用格式

注意:

Centos7運行級別0 和1 都有, 234結合在一起組合是命令行模式,以后啟動的時候都合並在一起運行了,圖形界面模式沒有變化,只是設置命令改變了,這是Centos7跟Centos6不同的區別。

1.17  查看開機啟動的服務

[root@meinv05 ~]# systemctl list-unit-files|grep enabled       #此命令查看開機啟動的服務

abrt-ccpp.service                             enabled

abrt-oops.service                             enabled

abrt-vmcore.service                           enabled

abrt-xorg.service                             enabled

abrtd.service                                 enabled

auditd.service                                enabled

autovt@.service                               enabled

crond.service                                 enabled

dbus-org.freedesktop.NetworkManager.service   enabled

dbus-org.freedesktop.nm-dispatcher.service    enabled

getty@.service                                enabled

irqbalance.service                            enabled

lvm2-monitor.service                          enabled

microcode.service                             enabled

NetworkManager-dispatcher.service             enabled

NetworkManager-wait-online.service            enabled

NetworkManager.service                        enabled

postfix.service                               enabled

rhel-autorelabel.service                      enabled

rhel-configure.service                        enabled

rhel-dmesg.service                            enabled

rhel-domainname.service                       enabled

rhel-import-state.service                     enabled

rhel-loadmodules.service                      enabled

rhel-readonly.service                         enabled

rsyslog.service                               enabled

sshd.service                                  enabled

systemd-readahead-collect.service             enabled

systemd-readahead-drop.service                enabled

systemd-readahead-replay.service              enabled

tuned.service                                 enabled

vgauthd.service                               enabled

vmtoolsd.service                              enabled

dm-event.socket                               enabled

lvm2-lvmetad.socket                           enabled

lvm2-lvmpolld.socket                          enabled

default.target                                enabled

multi-user.target                             enabled

remote-fs.target                              enabled

runlevel2.target                              enabled

runlevel3.target                              enabled

runlevel4.target                              enabled

2    centos7的目錄結構

 最大的變化是 bin和sbin放到了 /usr 下,庫文件也放到了 /usr下

2.1  centos目錄樹拓撲

[root@meinv05 Packages]# tree -L 1 /

/

|-- bin -> usr/bin    #普通用戶使用的命令

|-- boot     #系統引導的相關信息

|-- dev     #設備文件目錄

|-- etc      #系統配置文件目錄及其他應用配置文件路徑

|-- home          #普通用戶家目錄

|-- lib -> usr/lib       #庫文件

|-- lib64 -> usr/lib64   #庫文件64位

|-- media    #移動設備(光驅等)掛載目錄

|-- mnt      #可移動磁盤等掛載目錄

|-- opt

|-- proc   #虛擬的文件系統,內核和進程編號及其他狀態信息

|-- root             #超級管理員家目錄

|-- run

|-- sbin -> usr/sbin   #超級用戶/管理員使用的命令

|-- srv

|-- sys

|-- tmp     #臨時文件

|-- usr      #系統相關文件

`-- var      #可變化文件目錄,例如系統日志,郵件等

3   系統進程管理

3.1  進程

注意:

centos5/6所有進程的父進程是 init ,centos7所有進程的父進程是 systemd

[root@meinv05 Packages]# yum install psmisc   #安裝centos7的pstree命令包

Psmisc的內容

Psmisc軟件包包含三個幫助管理/proc目錄的程序

安裝下列程序: fuser, killall,pstree和pstree.x11(到pstree的鏈接)

簡短說明:

fuser 顯示使用指定文件或者文件系統的進程的PID。

killall 殺死某個名字的進程,它向運行指定命令的所有進程發出信號。

pstree 樹型顯示當前運行的進程。

pstree.x11 與pstree功能相同,只是在退出前需要確認。

Psmisc 安裝依賴關系

Psmisc 依賴於: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed.

---------------------

[root@meinv05 ~]# pstree

systemd─┬─NetworkManager───2*[{NetworkManager}]

        ├─VGAuthService

        ├─abrt-watch-log

        ├─abrtd

        ├─agetty

        ├─auditd───{auditd}

        ├─crond

        ├─dbus-daemon

        ├─irqbalance

        ├─lvmetad

        ├─master─┬─pickup

        │        └─qmgr

        ├─polkitd───5*[{polkitd}]

        ├─rsyslogd───2*[{rsyslogd}]

        ├─sshd───sshd───sshd───bash───sudo───su───bash───su───bash───sudo───su─+++

        ├─systemd-journal

        ├─systemd-logind

        ├─systemd-udevd

        ├─tuned───4*[{tuned}]

        └─vmtoolsd───{vmtoolsd}

 


免責聲明!

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



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