给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 >/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 >/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--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
注意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
# graphical.target: analogous to runlevel
#
# 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,否则不能正常启动 |
给Linux小白的CentOS8.1基本安装说明的更多相关文章
- linux小白成长之路6————安装Java+Apache(httpd)+Tomcat
[内容指引] 安装Java环境: 查看JDK版本: 安装Apache(httpd); 安装Tomcat: 设置服务开机启动. 1.安装Java环境 指令: yum intall java-1.8.0* ...
- linux小白成长之路5————安装Docker
1.安装docker 命令: yum -y install docker   2.启动docker 命令: systemctl start docker.service 3.查看docker版本 ...
- linux小白成长之路10————SpringBoot项目部署进阶
[内容指引] war包部署: jar包部署: 基于Docker云部署. 一.war包部署 通过"云开发"平台初始化的SpringBoot项目默认采用jar形式打包,这也是我们推荐的 ...
- 【转载】Linux小白福利:《超容易的Linux系统管理入门书》(三)在虚拟机上安装Linux
本篇是Linux小白最佳实践第3篇,目的就是让白菜们自己动手安装个Linux玩玩.如果你是Linux小白,请务必亲自动手来安装.不想安装多个操作系统的,虚拟机是最佳选择,一台电脑上可以用虚拟机安装7. ...
- Linux下非root用户如何安装软件
Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...
- ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路
一.前言 最近一段时间自己主要的学习计划还是按照毕业后设定的计划,自己一步步的搭建一个前后端分离的 ASP.NET Core 项目,目前也还在继续学习 Vue 中,虽然中间断了很长时间,好歹还是坚持 ...
- 【Linux学习笔记】Linux-CentOS下安装Redis
虚机装了个Linux,尝试安装了一下Redis这款NoSQL数据库玩玩,作为Linux小白,我安装的是有可视化桌面的CentOS,所以不是纯命令行操作,怎么方便怎么来嘛~ 1.官网下载Redis到指定 ...
- CentOS8 AnolisOS8 yum安装 No match for argument: htop Error: Unable to find a match: htop
这里写自定义目录标题 CentOS8 AnolisOS8 yum安装失败 安装失败原因 阿里云官方镜像主页 正确的操作步骤 学习交流 My Blog 技术交流 CentOS8 AnolisOS8 yu ...
- Linux环境搭建-在虚拟机中安装Centos7.0
最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...
随机推荐
- X-CTF(REVERSE高级) 666
主函数输入的字符会和key比较长度和enflag比较内容,所以这道题的flag和输入有关 key长度为0x12,enflag的值为:izwhroz""w"v.K" ...
- python基础学习笔记(纸质)
大一的时候学的python做的笔记.
- Navicat for MySQL数据库管理工具安装和破解
Navicat for MySQL官方下载地址:https://www.navicat.com/en/download/navicat-for-mysql 1.下载后安装 navicat110_mys ...
- POJ1948 Triangular Pastures
POJ1948 Triangular Pastures #include <iostream> #include <cmath> using namespace std; ; ...
- ios]企业开发者账号申请
1. 先打电话到“华夏邓白氏公司”(上海:400-820-3536 北京:400-810-3531 广州:800-830-9032),我打的是北京分部的电话,就说自己因为申请apple开发者账号,需要 ...
- poj3648 2-SAT进阶 记录点拓扑
Wedding Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10556 Accepted: 3220 Specia ...
- 【MySQL】MyISAM和InnoDB存储引擎区别详解
MyISAM 主键索引(引擎的索引文件和数据文件是分离的) (图片来自:https://blog.csdn.net/u010922732/article/details/82994253) 非主键索引 ...
- springboot的springMVC配置,源码
1,前端控制器自动管理 DispatcherServletAutoConfiguration 中 此方法创建了前端控制器 注册了前端控制器 其中标黄色一行最后的 .getPath()方法点进去 St ...
- 一看就懂之吐血整理的 Docker 学习笔记
前言 随着devops的兴起,Docker 近年来越来越火,容器化概念也越来越火.此篇将带你瞬间入门Docker. Docker 概述 Docker 出现的背景 在我们的开发过程中,通常是这样的一种流 ...
- idea 开发 webpack项目时,只要已加入SVN 版本控制 一直 updating 问题解决
场景描述,这是一个困扰我很久的一个问题,一直百度,都解决不了,今天自己通过设置终于解决了,慢慢的都是辛酸泪,赶快写个笔记记录一下. 对于idea 开发 vue-cli+webpack 项目,idea ...