• 给Linux小白的CentOS8.1基本安装说明


      写在前面的话用过Linux的同学应该都会觉得Linux安装是件非常简单的事情,根本不值得用博客记下来!但是我发现,其实没接触过Linux的同学还真不一定会装,就像在IT行业工作过几年但一直用Windows系统的同学可能就不会装Linux,这是正常的!毕竟不是谁都需要去安装或配置Linux服务器!所以想了下,还是将Linux的基本安装过程记一下流水账,在流水账最后讲一下基本网络环境的配置

      这里以使用Linux皇家血统Red Hat Enterprise Linux的源码编译而成的CentOS(Community Enterprise Operating System)为蓝本进行流水账的记录!CentOS的具体版本号为:CentOS-8.1.1911-x86_64,建议到阿里云CentOS镜像库下载,速度快嘛(可能你看这篇文章时已经有更新的版本了,但8.x的版本应该不会相差太多,多年后的小白如果发现8.x版本早已下架,那么可以关贴了)!

      为了讲得足够小白,我从虚拟机的创建开始一步一步记下去,基本上都是截图标注+少量文字补充说明的方式(不要多说,一切都在酒中,一切都在图中!希望博客园一直稳住,不要破图了!),没啥技术含量的,所以不是小白的同学也可以关贴了(也可以直接翻到文末看看)!小白就接着看吧!→♥

      先用VMware-workstation 15.5 创建虚拟机(VMware是收费的,别问我哪里搞到的,我是不会告诉你的,因为你懂的!):

    CPU个数、核数以及内存大小要视自己的需要而定;比如Gitlab服务器一般都需要4G以上的内存。

    网络模式也要视自己的情况而定,比如我的路由器内置了DHCP功能的,能够分配跟宿主机同级的IP地址并进行上网,这种情况我选择桥接模式可能会更好些,让宿主机与虚拟机处于相同级别,更像企业真实环境的局域网情况。关于这几种网络模式的区别,就自己去学了,将来有时间可能会再详细出一篇文章讲!现在继续...

    虚拟机的磁盘大小后期是可以更改的,所以这里不用紧张才20G,先按默认的大小创建!当然如果你确定会有很多数据,那一开始设置大一点也没事!

    选定好我们的CentOS8.1操作系统ISO文件作为后面的系统安装介质(光盘),如果这一步忘了选定安装介质ISO文件,下一步还能可能过“编辑虚拟机设置”进行选择!

      首屏安装界面默认选中的是第二项“Test this media & Install CentOS Linux 8”,即检测安装介质并安装CentOS 8,检测的目的是看看安装包有没有被别人篡改过,比如植入后门、病毒等,如果不是生产服务器的安装,可以不用检测安装介质,直接上下方向键选择上面的“Install CentOS Linux 8”,因为安装介质检测过程可能会花掉很长的时间,机器慢一点的半个小时以上都有可能!

      这是我建议的配置顺序:先配网络→再配日期时间(NTP服务器要用到前面的网络)→再配磁盘分区和文件系统→再配操作系统支持的语言→最后配要安装的软件包,下面我将按这个顺序来截图记录配置过程:

      如果你设置的密码不够强大,但你坚持要用,那得按两次左上角的Done按钮

      如果在软件安装包的选择过程中选的是带图形界面的Server with GUI,那么启动后还有几个页面步骤让你做协议认可和初始化设置用的,这里就不切截图了!

    最后一些常见问题的解答:

    问题1:桥接模式(自动)安装完后,相同网段Linux主机ping宿主机的IP没有效果?

    可能原因:宿主机防火墙开启状态,并且没有将ICMPv4协议配置成可以入站;

    问题2:桥接模式(自动)安装完后,相同网段宿主机ping Linux主机的IP没有效果?

    可能原因:Linux主机防火墙开启状态,并且没有将ICMPv4协议配置成可以入站;

    Linux允许ping设置:

    1)      临时允许ping的操作命令为:

    # echo 0>/proc/sys/net/ipv4/icmp_echo_ignore_all

    2)      永久允许ping的配置方法为:在 /etc/sysctl.conf系统控制配置文件中增加一行 net.ipv4.icmp_echo_ignore_all=0  修改完成保存后,执行sysctl -p使新配置生效:

    # vim /etc/sysctl.conf
    # systctl -p
    net.ipv4.icmp_echo_ignore_all=0

    此时可以尝试再从宿主机ping一下Linux主机,如果还没效果,可以尝试临时停止一下防火墙:

    使用# systemctl stop firewalld.service 命令或 # service iptables stop 命令来停止防火墙:

    # systemctl stop firewalld.service
    # service iptables stop

    然后可以再次尝试再从宿主机ping一下Linux主机,如果能通,那说明之前不能通是防火墙在阻止,配置防火墙允许ping通过:

    # iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
    # iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

    生产服务器上一般是不允许ping的,如何禁掉之前开启的ping功能呢?

    系统参数配置层面禁止ping

    1)      临时禁止ping的操作命令为:

    # echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all

    2)      永久禁止ping的配置方法为:在 /etc/sysctl.conf系统控制配置文件中增加一行(原来有的话直接修改) net.ipv4.icmp_echo_ignore_all=1 修改完成后执行sysctl -p使新配置生效

    # vim /etc/sysctl.conf
    # systctl -p
    net.ipv4.icmp_echo_ignore_all=1

    防火墙层面禁止ping

    # iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP 

    如果上述禁用ping的设置都没有起作用,可以通过 # iptables -L 查看一下是不是还有其他的icmp防火墙设置在起作用,例如可能还有

    # iptables -A INPUT -p icmp -j ACCEPT
    # iptables -A OUTPUT -p icmp -j ACCEPT

    这样的设置在起作用,将它们DROP掉就行了:

    # iptables -A INPUT -p icmp -j DROP
    # iptables -A OUTPUT -p icmp -j DROP

    问题3:使命令如何设置服务器静态网络信息,如IP?

    RHEL 8/CentOS 8版本开始network.service默认没有安装,默认只使用NetworkManager作为网络管理工具,而且RedHat官方指出在后续的版本中会彻底不支持network.service!!!

    首先通过命令:# nmcli connection show 查看服务器网卡信息(nmcli→NetworkManager Client):

    # nmcli connection show
    NAME   UUID                                  TYPE      DEVICE 
    ens33  d041f8bf-dfef-45e9-8055-466170b5c09f  ethernet  ens33 

    然后到Linux的网卡配置目录 /etc/sysconfig/network-scripts/ 找到相应网卡的配置文件并用vi或vim打开,例如:

    # vi /etc/sysconfig/network-scripts/ifcfg-ens33

    将BOOTPROTO的值由dhcp改为static,即静态分配;

    在文档最后新起一行添加IPADDR={你的IP地址},例如IPADDR=”192.168.0.104”

    在文档最后新起一行添加PREFIX={你的子网掩码前缀},例如PREFIX=”24”

    在文档最后新起一行添加GATEWAY={你的网关地址},例如GATEWAY=”192.168.0.1“

    保存配置变更,通过下面命令重启网卡(其中ens33为网卡设备名称):

    # nmcli con up ens33   
    # systemctl restart NetworkManager

    重启完后,可以通地下面命令查看网卡信息:

    # ifconfig

    问题4:使用命令怎么设置DNS地址?

    同样在Linux的网卡配置目录 /etc/sysconfig/network-scripts/ 下找到网卡配置文件并用vi或vim打开,在最后新起行来添加你的DNS配置即可:

    # vi /etc/sysconfig/network-scripts/ifcfg-ens33
    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="dhcp"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens33"
    UUID="d041f8bf-dfef-45e9-8055-466170b5c09f"
    DEVICE="ens33"
    ONBOOT="yes"
    DNS1="192.168.1.3"
    DNS2="192.168.10.105"

      我们行末加了两个DNS服务器地址配置,保存退出后,使用# systemctl restart NetworkManager 重启一下网络:

    # systemctl restart NetworkManager

      最后使用vi或vim查看一下NetworkManager最终生成的DNS解析配置文件:

    # cat /etc/resolv.conf 
    # Generated by NetworkManager
    search DHCP HOST
    nameserver 10.198.1.1
    nameserver 114.114.114.114
    nameserver 192.168.1.3
    # NOTE: the libc resolver may not support more than 3 nameservers.
    # The nameservers listed below may not be recognized.
    nameserver 192.168.10.105

      可以看到NetworkManager最终生成了4条DNS服务器配置,其中前两条是我们系统安装时指定的,后面两条是刚才在网卡配置文件末尾添加的,但有个提示说 libc解析器不支持超过3个域名服务器,因此第4条DNS配置可能无法识别,也就是无效咯!search DHCP HOST 表示域名查询顺序为先搜DHCP服务器,再搜本地HOST本地配置。

      提醒下:不要试图通过直接修改 /etc/resolv.conf 文件来变更DNS的配置,你会失望的,它不会生效!NetworkManager重启或系统重启后又会被NetworkManager生成的最终配置信息覆盖

    问题 5:图形界面的Linux能不能启动成只有命令行的?

    答案是可以的啊!从CentOS 7开始系统一共有5个启动级别或叫运行级别(CentOS7之前有7个):

    • shutdown.target:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
    • emergency.target:紧急维护单用户状态,root权限,用于系统维护,禁止远程登陆
    • rescue.target:多用户状态(没有NFS)
    • multi-user.target:完全的多用户状态(有NFS),登陆后进入控制台命令行模式(软件安装包选择过程中选择无图形界面的Server就是这个级别)
    • graphical.target:X11控制台,登陆后进入图形GUI模式(软件安装包选择过程中选择带图形界面的Server with GUI就是这个级别)

      一般正常情况下我们只会用到multi-user.target和graphical.target,特殊维护场景才会打到emergency.target级别,那么如何切换运行级别呢?在终端界面(即命令行界面)运行 # systemctl isolate XXX 就可以了(XXX就是运行级别):

    # systemctl isolate graphical.target

      接着查看一下当前运行级别(运行级别新旧对照表见文末):

    # runlevel
    3 5

     

    注意1:如果软件安装包选择的是Server(即运行级别为multi-user.target),那么你 # systemctl isolate graphical.target 是没有效果的,因为没有装图形界面相着的组件包!你强行systemctl isolate graphical.target  不会报错,但也不会有效果

    注意2:上述命令 # systemctl isolate XXX 只是临时将运行级别打到XXX级,你下次重启系统后,它还是会运行到安装配置时所选定的级别!如果要永久更改启动级别,需要通下面的命令修改默认启动级别 :

    # systemctl set-default graphical.target
    Removed /etc/systemd/system/default.target.
    Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/graphical.target.

      可以看到上述命令是通过重建软链接文件 /etc/systemd/system/default.target 所指向的目标运行级别配置文件来达到配置变更的

      接着查看一下默认运行级别:

    # systemctl get-default
    graphical.target

      另外要说明一下,旧版的 /etc/inittab 配置文件在CentOS 8中已经不起作用了,废弃了

    # cat /etc/inittab 
    # inittab is no longer used.
    #
    # 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

      最后放一下CentOS 7之前的init runlevels与CentOS 7之后的systemctl targets的对照表:

    init runlevels systemctl targets 说明
    0 shutdown.target 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
    1 emergency.target 紧急维护单用户状态,root权限,用于系统维护,禁止远程登陆
    2 rescue.target 多用户状态(没有NFS)
    3 multi-user.target 完全的多用户状态(有NFS),登陆后进入控制台命令行模式(软件安装包选择过程中选择无图形界面的Server就是这个级别)
    4 系统未使用,保留
    5 graphical.target X11控制台,登陆后进入图形GUI模式(软件安装包选择过程中选择带图形界面的Server with GUI就是这个级别)
    6 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
  • 相关阅读:
    网页中 弹出提示框
    三级联动
    pdo预处理
    ajax返回数据类型 text json xml
    PHP语言 -- 数据访问 好友列表
    2.17 牛牛你个渣渣这种题都做不出来 尹老师教你的你全还给他了吗?
    1.25 作业
    1.22作业
    1.20 作业
    js 学习笔记
  • 原文地址:https://www.cnblogs.com/xuruiming/p/13058288.html
Copyright © 2020-2023  润新知