• 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
  • 相关阅读:
    光流法简单介绍
    learn something
    MOT
    jupyter notebook 启动出错
    SSD用测试集得到具体的检测结果
    百练_2677 肿瘤检测
    百练_2707 求一元二次方程的根
    百练_4022 买房子
    HDU2035 人见人爱A^B(快速幂)
    BestCoder Round #85 sum
  • 原文地址:https://www.cnblogs.com/anyux/p/7822409.html
Copyright © 2020-2023  润新知