centos7新系统安装
Posted anyux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7新系统安装相关的知识,希望对你有一定的参考价值。
一 Centos7开机启动技术改变
1.1 从Sysvinit技术到Systemd技术
Sysvinit
优点:
Sysvinit运行良好,概念简单清晰。依赖于shell脚本
缺点:
1.并行启动,开机慢,
2.容易夯住(如webServer 挂载(/etc/inittab文件下) nfsServer(未启动),时,webServer会夯住。(如果写入到/etc/rc.local中,则超时后,退出脚本))
Upstart
过渡技术
Systemd
优点:并行启动,快
三种启动技术对比
1.2 并行启动原理
1.2.1 解决socket 依赖/端口依赖
系统提前创建端口,由systemd系统管家管理(个人理解),服务正常运行至开机启动后
1.2.2 解决D-Bus
依赖:采用D-Bus作为进程间的通信工具,类似消息队列,可以缓存信息
6:同步=面对面把事情交代清楚,安全性,稳定性好,速度慢
7:异步=把事情写在纸上,安全性低,速度快
1.2.3 解决文件系统依赖
autofs机制,需要时挂载
二 网卡名称
2.1 系统识别硬件的方式
7:通过网卡插槽指定网卡名称
6:通过识别硬件获得网卡名称(且每获取一次都不同)
注意:如果通过删除vm 软件删除网络适配置器。可能导致网卡插槽也会被删除!!
2.2 开机后修改网卡名称:
1. 进入到网卡配置文件目录下
1 cd /etc/sysconfig/network-scripts/ && systemctl stop NetworkManager && systemctl disable NetworkManager
2.修改网卡名称
1 mv ifcfg-ens33 ifcfg-eth0 #我的网卡原名称为ens33
3.修改网卡设备及名称
1 TYPE=Ethernet 2 ………… 3 NAME=eth0 #原为ense33 已改成eth0 4 DEVICE=eth0 #原为ense33 已改成eth0 5 ONBOOT=yes 6 IPADDR=10.0.0.200 7 PREFIX=24 8 GATEWAY=10.0.0.254 9 DNS1=223.5.5.5
4.修改grub配置文件
/etc/default/grub
1 GRUB_TIMEOUT=5 2 GRUB_DISTRIBUTOR="$(sed \'s, release .*$,,g\' /etc/system-release)" 3 GRUB_DEFAULT=saved 4 GRUB_DISABLE_SUBMENU=true 5 GRUB_TERMINAL_OUTPUT="console" 6 GRUB_CMDLINE_LINUX="rhgb net.ifnames=0 biosdevname=0 quiet" #net.ifnames=0 biosdevname=0 为新增内容,其他不做修改 7 GRUB_DISABLE_RECOVERY="true"
5.生成grub配置文件,命令
1 grub2-mkconfig -o /boot/grub2/grub.cfg #执行命令 2 Generating grub configuration file ... #以下为命令执行结果 3 Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64 4 Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img 5 Found linux image: /boot/vmlinuz-0-rescue-6fb9d1e602e84f5eacbc9ea411c00d80 6 Found initrd image: /boot/initramfs-0-rescue-6fb9d1e602e84f5eacbc9ea411c00d80.img 7 done
6.重启,查看
1 reboot 2 ip a s eth0 3 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 #可以直接查看网卡信息 4 link/ether 00:0c:29:49:5d:cb brd ff:ff:ff:ff:ff:ff 5 inet 10.0.0.200/24 brd 10.0.0.255 scope global eth0 6 valid_lft forever preferred_lft forever 7 inet6 fe80::20c:29ff:fe49:5dcb/64 scope link 8 valid_lft forever preferred_lft forever
2.3 安装系统时修改网络配置项
1 #### 2 ####安装系统时修改网卡名称为eth0的方法!! 安装系统时修改网卡名称为eth0的方法!! 安装系统时修改网卡名称为eth0的方法 !!
3. ### 按tab键后 添加如下内容 net.ifnames=0 biosdeveth0=0
3 ####
第3章 文件系统
7:默认为xfs 专为大数据,大文件设计
6:默认为ext4
7在安装是/boot分区选择1G,7的/boot分区需要更大
第4章 yum源优化
4.1 添加epel源
1 curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
4.2 更新其他软件
yum install -y vim wget bash-completion tree lrzsz nmap nc htop pssh sshpass net-tools setuptool
#shell快捷帮助 #其他常用软件
五、 网络命令
7主推:ip ss
5.1 安装6系统的命令包
1 ifconfig 2 yum install -y net-tools 3 setup 4 yum install -y setuptool #废弃命令 nmtui代替 所以,我没有安装以上这些命令
5.2 主机名修改
6中主机名位置为 /etc/sysconfig/network (当时就觉得,怪异)
7中主机名位置为 /etc/hostname (这我就喜欢了)
7中修改主机名称方式与6中相同 (不做赘述)
7与6不同的地方
1 1. [root@centos7 ~]# hostnamectl set-hostname centos8 #修改主机名称, 2 2. [root@centos7 ~]# logout 3 3. Connection closing...Socket close. 4 4. 5 5. Connection closed by foreign host. 6 6. 7 7. Disconnected from remote host(10.0.0.200:22) at 15:27:15. 8 8. 9 9. Type `help\' to learn how to use Xshell prompt. 10 10. [c:\\~]$ ssh 10.0.0.200 11 11. 12 12. 13 13. Connecting to 10.0.0.200:22... 14 14. Connection established. 15 15. To escape to local shell, press \'Ctrl+Alt+]\'. 16 16. 17 17. Last login: Mon Nov 13 00:26:02 2017 from 10.0.0.1 18 18. [root@centos8 ~]# hostname 19 19. centos8 20 20. [root@centos8 ~]# cat /etc/hostname #配置文件也被修改了 21 21. centos8 22 22. 友情提示:hostnamectl 会将所有字母转换为小写。
六、兼容/etc/rc.local
1 1. # Please note that you must run \'chmod +x /etc/rc.d/rc.local\' to ensure 2 2. # that this script will be executed during boot. 3 3. 4 4. touch /var/lock/subsys/local
5. 不过在最新的系统中,官方好像还是没有给到软链接原文件的执行权限。(官方,你好 :)
1 [root@CentOS7 ~]# ll /etc/rc.local 2 lrwxrwxrwx. 1 root root 13 Nov 13 11:17 /etc/rc.local -> rc.d/rc.local 3 [root@CentOS7 ~]# ll /etc/rc.d/rc.local 4 -rw-r--r--. 1 root root 473 Aug 5 14:38 /etc/rc.d/rc.local
3. #注意,官方还说,不建议使用shell脚本管理系统的服务 (。。。。。。)
七 行级别Runlevel
1 6中运行级别文件在 /etc/inittab文件中 2 7中运行级别文件是一个软链接 3 1. [root@centos7 system]# ll runlevel*.target #下面的软链接,是各种启动方式的软链接 4 2. lrwxrwxrwx. 1 root root 15 Nov 12 06:30 runlevel0.target -> poweroff.target 5 3. lrwxrwxrwx. 1 root root 13 Nov 12 06:30 runlevel1.target -> rescue.target 6 4. lrwxrwxrwx. 1 root root 17 Nov 12 06:30 runlevel2.target -> multi-user.target 7 5. lrwxrwxrwx. 1 root root 17 Nov 12 06:30 runlevel3.target -> multi-user.target 8 6. lrwxrwxrwx. 1 root root 17 Nov 12 06:30 runlevel4.target -> multi-user.target 9 7. lrwxrwxrwx. 1 root root 16 Nov 12 06:30 runlevel5.target -> graphical.target 10 8. lrwxrwxrwx. 1 root root 13 Nov 12 06:30 runlevel6.target -> reboot.target 11 9. [root@centos7 system]# ll default.target #这个default是一个软链接,它指向上面那个文件,就会以那种方式启动 12 10. lrwxrwxrwx. 1 root root 16 Nov 12 06:30 default.target -> graphical.target 13 1. [root@centos7 system]# systemctl get-default #显示系统配置文件中的运行级别 14 2. poweroff.target 15 3. [root@centos7 system]# systemctl set-default runlevel3.target #指定配置文件运行级别 16 4. Removed symlink /etc/systemd/system/default.target. 17 5. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target. 18 6. [root@centos7 system]# systemctl get-default #获取配置文件运行级别 19 7. multi-user.target
八 ystemd一统天下
所有可用的单元文件存放在/usr/lib/systemd/system/ 和 /etc/systemd/system/ 目录中(后者优先级更高)
注意:目录真长,多记,多练
Systemd命令
添加图片
九 启动时间优化
1 1. [root@centos7 system]# systemd-analyze 2 2. Startup finished in 420ms (kernel)(内核加载时间) + 1.463s (initrd) (初始化进程时间) + 3.953s (userspace) (用户加载进程)= 5.837s 3 1. [root@centos7 system]# systemd-analyze blame #显示每个程序加载消耗时间 4 2. 811ms firewalld.service 5 3. 767ms dev-sda2.device 6 4. 547ms boot.mount 7 5. 445ms postfix.service 8 6. 397ms NetworkManager-wait-online.service 9 7. 247ms abrt-ccpp.service 10 8. 194ms network.service 11 9. ....... 12 1. [root@centos7 ~]# systemd-analyze plot >boottime.svg #将开机时间生成svg文件,在浏览器中打开,如下图 13 2. [root@centos7 ~]# sz boottime.svg 14
15 16 在第2s后,系统开始并行启动大部分程序
拾 关闭系统服务
1 1. 关闭防火墙 2 1. [root@centos7 ~]# systemctl status firewalld.service 3 2. ● firewalld.service - firewalld - dynamic firewall daemon 4 3. Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) 5 4. Active: active (running) since Sun 2017-11-12 23:51:07 CST; 1h 43min ago 6 5. Docs: man:firewalld(1) 7 6. Main PID: 807 (firewalld) 8 7. CGroup: /system.slice/firewalld.service 9 8. └─807 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid 10 9. 11 10. Nov 12 23:51:06 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon... 12 11. Nov 12 23:51:07 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon. 13 12. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: ICMP type \'beyond-scope\' is not supported by the ke...pv6. 14 13. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: beyond-scope: INVALID_ICMPTYPE: No supported ICMP t...ime. 15 14. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: ICMP type \'failed-policy\' is not supported by the k...pv6. 16 15. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: failed-policy: INVALID_ICMPTYPE: No supported ICMP ...ime. 17 16. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: ICMP type \'reject-route\' is not supported by the ke...pv6. 18 17. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: reject-route: INVALID_ICMPTYPE: No supported ICMP t...ime. 19 18. Hint: Some lines were ellipsized, use -l to show in full. 20 19. [root@centos7 ~]# systemctl is- firewalld.service 21 20. is-active is-enabled is-failed is-system-running 22 21. [root@centos7 ~]# systemctl is-enabled firewalld.service 23 22. enabled 24 23. [root@centos7 ~]# systemctl is-active firewalld.service 25 24. active 26 25. [root@centos7 ~]# systemctl is-failed firewalld.service 27 26. active 28 1. [root@centos7 ~]# systemctl stop firewalld.service #关闭防火墙(7中默认是没有使用iptables的,所以,可以yum install -y iptables.service) 29 2. [root@centos7 ~]# systemctl sta firewalld.service 30 3. start status 31 4. [root@centos7 ~]# systemctl status firewalld.service 32 5. ● firewalld.service - firewalld - dynamic firewall daemon 33 6. Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) 34 7. Active: inactive (dead) since Mon 2017-11-13 01:40:19 CST; 9s ago 35 8. Docs: man:firewalld(1) 36 9. Main PID: 807 (code=exited, status=0/SUCCESS) 37 10. 38 11. Nov 12 23:51:06 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon... 39 12. Nov 12 23:51:07 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon. 40 13. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: ICMP type \'beyond-scope\' is not supported by the ke...pv6. 41 14. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: beyond-scope: INVALID_ICMPTYPE: No supported ICMP t...ime. 42 15. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: ICMP type \'failed-policy\' is not supported by the k...pv6. 43 16. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: failed-policy: INVALID_ICMPTYPE: No supported ICMP ...ime. 44 17. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: ICMP type \'reject-route\' is not supported by the ke...pv6. 45 18. Nov 12 23:51:08 localhost.localdomain firewalld[807]: WARNING: reject-route: INVALID_ICMPTYPE: No supported ICMP t...ime. 46 19. Nov 13 01:40:19 centos7 systemd[1]: Stopping firewalld - dynamic firewall daemon... 47 20. Nov 13 01:40:19 centos7 systemd[1]: Stopped firewalld - dynamic firewall daemon. 48 21. Hint: Some lines were ellipsized, use -l to show in full. 49 1. [root@centos7 ~]# systemctl disable firewalld.service (开机不启动防火墙) 50 2. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. 51 3. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. 52 4. [root@centos7 ~]# poweroff
2.关闭SELinux
同6
十一 systemd
1 systemd提供更优秀的框架以表示系统服务间的依赖关系 2 3 实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果 4 5 systemd的目标是:尽可能启动更少进程;尽可能将更多进程并行启动。 6 7 systemd尽可能减少对shell脚本的依赖。 8 9 开机服务管理 10 11 systemd添加新的unit(daemon) 12 13 也就是采用systemd来管理,/sbin/chkconfig --add foo相当 14 15 把新生成的foo.service 放到/usr/lib/systemd/system/下面,然后采用load命令导入 16 17 systemctl load foo.service 18 19 删除unit(daemon) 20 21 删除一个unit没有相应的命令,通常的做法是停掉daemon,然后删除相应的配置文件。 22 23 开机启动unit 24 25 systemctl enable postfix.service 26 27 增加由/usr/lib/systemd/system/到/etc/systemd/system/multi-user.target.wants/下的软链接 28 29 ln -s \'/usr/lib/systemd/system/postfix.service\' \'/etc/systemd/system/multi-user.target.wants/postfix.service\' 30 31 开机不启动unit 32 33 systemctl disable httpd.service 34 35 删除/etc/systemd/system/multi-user.target.wants下的软链接 36 37 查看开机是否启动 38 39 systemctl is-enabled .service #查询服务是否开机启动 40 41 systemd查看开机自启动的程序 42 43 相当于chkconfig --list 44 45 ls /etc/systemd/system/multi-user.target.wants/ 46 47 查看systemd单元加载及活动情况 48 49 systemctl 50 51 52 53 显示启动失败的单元 54 55 systemctl --failed 56 57 查看systemd管理的所有单元 58 59 systemctl list-unit-files 60 61 62 63 服务管理 64 65 ================================================= 66 67 启动服务 68 69 systemctl start httpd.service 70 71 关闭服务 72 73 systemctl stop httpd.service 74 75 重启服务 76 77 systemctl restart httpd.service 78 79 重新加载 80 81 systemctl reload httpd.service 82 83 查看状态 84 85 systemctl status httpd.service 86 87 包括启动状态、启动时间、主进程及相关进程、相关日志 88 89 90 91 运行级别 92 93 systemd用target替代了runlevel的概念,多个的 \'target\' 可以同时激活 94 95 systemd不使用/etc/inittab,如何查看系统默认的运行级别 96 97 ll /etc/systemd/system/default.target 98 99 查看这个软链接真正指向的文件 100 101 102 103 如何查看系统的当前运行级别 104 105 runlevel依然可用 106 107 systemd的方法是:systemctl list-units --type=target 108 109 110 111 改变当前target,重启无效 112 113 systemctl isolate graphical.target 114 115 116 117 修改默认运行级别 118 119 1.首先删除已经存在的符号链接 120 121 rm /etc/systemd/system/default.target 122 123 2.默认级别转换为3(文本模式) 124 125 systemctl enable multi-user.target 126 127 相当于ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target 128 129 3.重启 130 131 reboot 132 133 134 135 运行级别如下: 136 137 runlevel0.target -> poweroff.target 138 139 runlevel1.target -> rescue.target 140 141 runlevel2.target -> multi-user.target 142 143 runlevel3.target -> multi-user.target 144 145 runlevel4.target -> multi-user.target 146 147 runlevel5.target -> graphical.target 148 149 runlevel6.target -> reboot.target
安装常用工具
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum install -y vim wget bash-completion tree lrzsz nmap nc htop pssh sshpass
以上是关于centos7新系统安装的主要内容,如果未能解决你的问题,请参考以下文章