Centos7与Centos6的区别

CentOS7

修改网卡名称为eth0、eth1

方法1

修改网卡名称

  1. cd /etc/sysconfig/network-scripts/
  2. mv ifcfg-eno16777736 ifcfg-eth0
  3. mv ifcfg-eno33554960 ifcfg-eth1

修改网卡配置文件

  1. [root@bogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  2. TYPE=Ethernet
  3. BOOTPROTO=static
  4. NETMASK=255.255.255.0
  5. IPADDR=10.0.0.110
  6. GATEWAY=10.0.0.2
  7. DEFROUTE=yes
  8. PEERDNS=yes
  9. PEERROUTES=yes
  10. IPV4_FAILURE_FATAL=no
  11. NAME=eth0
  12. UUID=582bec32-fa8b-415e-9cdc-873035dc336d
  13. DEVICE=eth0
  14. ONBOOT=yes
  15. [root@bogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
  16. TYPE=Ethernet
  17. BOOTPROTO=static
  18. DEFROUTE=yes
  19. PEERDNS=yes
  20. PEERROUTES=yes
  21. IPV4_FAILURE_FATAL=no
  22. NAME=eth1
  23. UUID=7a62954e-574f-41cc-b4f6-3c802fa4a819
  24. DEVICE=eth1
  25. ONBOOT=yes

修改grub

加入以下内容(红色部分)

  1. cat /etc/sysconfig/grub
  2. GRUB_TIMEOUT=5
  3. GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
  4. GRUB_DEFAULT=saved
  5. GRUB_DISABLE_SUBMENU=true
  6. GRUB_TERMINAL_OUTPUT="console"
  7. GRUB_CMDLINE_LINUX="rhgb net.ifnames=0 biosdevname=0 quiet"
  8. GRUB_DISABLE_RECOVERY="true"

 

生成启动菜单

grub2-mkconfig -o /boot/grub2/grub.cfg

 

 

重启系统

reboot

 

方法2

net.ifnames=0 biosdevname=0

 

  1. vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet net.ifnames=0 biosdevname=0

 

方法3

cobbler装机时设置

安装一些基础命令

yum -y install wget vim bash-completion lrzsz nmap telnet tree net-tools bind-utils

 

关闭防火墙和 selinux

关闭防火墙

systemctl stop firewalld.service

禁止防火墙开机启动

systemctl disable firewalld.service

 

systemctl stop NetworkManager.service

systemctl disable NetworkManager.service

 

关闭selinux

[root@bogon ~]# getenforce

Enforcing

[root@bogon ~]# setenforce 0

[root@bogon ~]# getenforce

Permissive

[root@bogon ~]# vim /etc/selinux/config

 

 

开机启动流程

sysvinit技术

特点:

1、系统第一个进程(pid=1) 为 init

2、init进程是所有进程的祖先,不可kill

3、大多数linux发行版的init系统是和systemv相兼容的,被称为sysvinit

4、代表系统 CentOS5 CentOS 6

应用场景

用于服务器时代

 

优点

sysvinit运行非常良好,概念简单清晰。它主要依赖于shell脚本

 

缺点

1、 按照一定顺序执行 启动太慢

2、很容易夯住,fstab与nfs挂载问题

 

未来的趋势

个人pc机和移动平台,需要便捷、快的系统

 

5 upstart技术

CentOS6采用了upstart技术代替sysvinit进行引导,upstart对rc.sysinit脚本做了大量的优化,缩短了系统初始化时的启动时间。但是CentOS6为了简便管理员的操作,upstart的很多特性并没有凸显或者直接不支持,因此在CentOS6中的服务启动脚本还是以原来sysv的形式提供的

 

一个应运而生的技术,却因为竞争对手太强大,而被淘汰

代表系统:Ubuntu14,从ubuntu15开始使用systemd

http://0pointer.de/blog/projects/why.html

initctl start  服务名

disable

systemd技术

新系统都会采用的技术(RedHat7,CentOS7,Ubuntu15等)

设计目标是克服sysvinit固有的缺点,提高系统的启动速度

和sysvinit兼容,降低迁移成本

主要优点:并行启动

pid为1的进程

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

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 16:29 ? 00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 21

 

 

 

 

 

 

A,B,C,D四个任务有依赖关系

1、init:总时间T1+T2+T3+T4+T5+T6+T7

2、upstart:总时间T1+T2+T3 启动速度加快,但是有依赖关系的服务还是必须先后启动

3、systemd:总时间T,即使有依赖关系的服务,也能并发启动

并发启动原理之一:解决socket依赖/端口依赖

并发启动原理之二:解决D-Bus依赖:采用了D-Bus作为程序之间的通信工具,类似消息队列,可以缓存信息

并发启动原理之三:解决文件系统依赖:类似autofs机制

 

CentOS7系统安装

下载地址:

http://vault.centos.org/

镜像名称解释

CentOS-7-x86_64-DVD-1611.iso

从CentOS 7 之后,版本命名就跟发行的日期有关了

CentOS-7 系统是7.x版本

x86_64 64位操作系统,并且从7以后不再提供32位镜像

1611 2016年11月发布的版本

CentOS6到CentOS-7变化

使用CentOS-7最直观的变化就是服务管理了。

services使用了systemd来代替sysvinit管理
        systemd是Linux下的一种init软件,由Lennart Poettering带头开发,并在LGPL 2.1及其后续版本许可证下开源发布。其开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果,最终代替现在常用的System V与BSD风格init程序。
与多数发行版使用的System V风格init相比,systemd采用了以下新技术:
采用Socket激活式与总线激活式服务,以提高相互依赖的各服务的并行运行性能;
用cgroups代替PID来追踪进程,以此即使是两次fork之后生成的守护进程也不会脱离systemd的控制。
从设计构思上说,由于systemd使用了cgroup与fanotify等组件以实现其特性,所以只适用于Linux。

systemd的服务管理程序
systemctl是主要的工具,它融合之前service和chkconfig的功能于一体。可以使用它永久性或只在当前会话中启用/禁用服务。

  1. 启动一个服务:systemctl start postfix.service
  2. 关闭一个服务:systemctl stop postfix.service
  3. 重启一个服务:systemctl restart postfix.service
  4. 显示一个服务的状态:systemctl status postfix.service
  5. 在开机时启用一个服务:systemctl enable postfix.service
  6. 在开机时禁用一个服务:systemctl disable postfix.service
  7. 查看服务是否开机启动:systemctl is-enabled postfix.service;echo $?
  8. 查看已启动的服务列表:systemctl list-unit-files|grep enabled

网卡名称区别

区别1:网卡名称eth0和enp5s0

传统上,linux的网络接口名称为eth0、eth1...,但这些名称并不一定符合实际的硬件插槽等,这可能会导致不同的网络配置错误(例如,由无意的接口改名引起的禁止接口)。基于MAC地址的udev规则在虚拟化的环境中并不有用,这里的MAC地址如端口数量一样无常

CentOS6/RHEL6引入了一致和可预测的网络设备命名网络接口的方法。这些特性可以唯一地确定网络接口的名称以使定位和区分设备更容易,并且在这样一种方式下,无论是否重启机器、过了多少时间或者改变硬件,其名字都是持久不变的。然而,这种命名规则并不是默认在CentOS/RHEL6上开启

从CentOS7/RHEL7起,这种可预见的命名规则变成了默认。根据这一规则,接口名称被自动基于固件,拓扑结构和位置信息来确定。现在,即使添加或移除网络设备,接口名称仍然保持固定,而无需重新枚举,和坏掉的硬件可以无缝替换

修改主机名

  1. [root@centos7 ~]# hostnamectl set-hostname c77
  2. [root@centos7 ~]# hostname
  3. c77
  4. [root@centos7 ~]# cat /etc/hostname
  5. c77

字符集

  1. [root@centos7 ~]# localectl set-locale LANG=zh_CN.UTF-8
  2. [root@centos7 ~]# localectl status
  3.    System Locale: LANG=zh_CN.UTF-8
  4.        VC Keymap: us
  5.       X11 Layout: us
  6. [root@centos7 ~]# cat /etc/locale.conf
  7. LANG=zh_CN.UTF-8

时区

  1. [root@centos7 ~]# timedatectl status
  2.       Local time: Fri 2017-03-10 16:41:59 CST
  3.   Universal time: Fri 2017-03-10 08:41:59 UTC
  4.         RTC time: Fri 2017-03-10 08:41:59
  5.        Time zone: Asia/Shanghai (CST, +0800)
  6.      NTP enabled: n/a
  7. NTP synchronized: no
  8.  RTC in local TZ: no
  9.       DST active: n/a

查看系统版本

  1. [root@centos7 ~]# cat /etc/os-release
  2. NAME="CentOS Linux"
  3. VERSION="7 (Core)"
  4. ID="centos"
  5. ID_LIKE="rhel fedora"
  6. VERSION_ID="7"
  7. PRETTY_NAME="CentOS Linux 7 (Core)"
  8. ANSI_COLOR="0;31"
  9. CPE_NAME="cpe:/o:centos:centos:7"
  10. HOME_URL="https://www.centos.org/"
  11. BUG_REPORT_URL="https://bugs.centos.org/"
  12.  
  13. CENTOS_MANTISBT_PROJECT="CentOS-7"
  14. CENTOS_MANTISBT_PROJECT_VERSION="7"
  15. REDHAT_SUPPORT_PRODUCT="centos"
  16. REDHAT_SUPPORT_PRODUCT_VERSION="7"

设置系统启动级别

  1. [root@centos7 ~]# systemctl set-default multi-user.target
  2. Removed symlink /etc/systemd/system/default.target.
  3. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
  4. [root@centos7 ~]# systemctl get-default
  5. multi-user.target

查看系统启动级别

  1. [root@centos7 ~]# ll -h /usr/lib/systemd/system/runlevel*.target
  2. lrwxrwxrwx. 1 root root 15 Mar 10 14:02 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
  3. lrwxrwxrwx. 1 root root 13 Mar 10 14:02 /usr/lib/systemd/system/runlevel1.target -> rescue.target
  4. lrwxrwxrwx. 1 root root 17 Mar 10 14:02 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
  5. lrwxrwxrwx. 1 root root 17 Mar 10 14:02 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
  6. lrwxrwxrwx. 1 root root 17 Mar 10 14:02 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
  7. lrwxrwxrwx. 1 root root 16 Mar 10 14:02 /usr/lib/systemd/system/runlevel5.target -> graphical.target
  8. lrwxrwxrwx. 1 root root 13 Mar 10 14:02 /usr/lib/systemd/system/runlevel6.target -> reboot.target

查看启动级别

  1. [root@centos72?~]#systemctl get-default
  2. multi-user.target
  3. [root@centos72?~]#?systemctl?set-default graphical.target
  4. Removed?symlink?/etc/systemd/system/default.target.
  5. Created?symlink?from?/etc/systemd/system/default.target?to?/usr/lib/systemd/system/graphical.target.
  6. [root@centos72?~]#?systemctl?set-default?multi-user.target
  7. Removed?symlink?/etc/systemd/system/default.target.
  8. Created?symlink?from?/etc/systemd/system/default.target?to?/usr/lib/systemd/system/multi-user.target.

服务管理程序存放位置

/usr/lib/systemd/system

/etc/systemd/system/

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

lrwxrwxrwx 1 root root 41 Mar 10 16:49 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target

 

systemd 管理程序

 

Sysvinit

Systemd

备注

/etc/init.d/crond start

systemctl start crond.service

启动服务

/etc/init.d/crond stop

systemctl stop crond.service

停止服务

/etc/init.d/crond restart

systemctl restart crond.service

重启服务

/etc/init.d/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

修改服务文件时更新设置

 

系统服务启动时间查看

systemd-analyze time

systemd-analyze blame

  

导出图片

systemd-analyze plot > bootime.svg

 

 

学习资料:

http://www.jinbuguo.com/systemd/systemd.service.html

 
https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/index.html


http://www.cnblogs.com/justphp/p/6120201.html

 

posted @ 2017-11-14 08:35  jks巴顿  阅读(6936)  评论(0编辑  收藏  举报