下载VMware个人免费版

官网

注册登录再进网址就能看到了

image.png

下载镜像

注意windows下x86_x64的,不然报错
官网
其他镜像地址

DVD ISO                                     标准安装版,推荐使用
Everything ISO                              对完整版安装盘的软件进行补充,集成所有软
Minimal ISO                                 精简版,自带的软件最少  
CentOS-7.x-1406-x86_64-DVD.iso              标准安装版
CentOS-7.x-1406-x86_64-NetInstall.iso       网络安装镜像
CentOS-7.x-1406-x86_64-Everything.iso       对完整版安装盘的软件进行补充,集成所有软件
CentOS-7.x-1406-x86_64-GnomeLive.iso        GNOME桌面版
CentOS-7.x-1406-x86_64-KdeLive.iso          KDE桌面版
CentOS-7.x-1406-x86_64-livecd.iso           光盘上运行的系统,类拟于Windows PE
CentOS-7.x-x86_64-Minimal-1503-01.iso       精简版,自带的软件最少

image.png

如果你要下Minimal,踩坑多次找出来的,推荐http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso

安装系统

新建虚拟机

image.png

典型、自定义都可以

image.png

16.2x

image.png

选镜像位置

image.png

选安装位置

image.png

不能超过宿主机内核总数,处理器数量就是几个CPU超了报错

image.png
2G就够了,我内存大选多一点

image.png

1、NAT(网络地址转换模式VMnet8):通过宿主机的网络来访问公网。虚拟局域网内的虚拟机在对外访问时,使用的则是宿主机的IP地址,这样从外部网络来看,只能看到宿主机,完全看不到新建的虚拟局域网。
优势:虚拟系统接入互联网非常简单,只需宿主机器能访问互联网即可, 不需要进行任何手工配置。

2、Bridged(桥接模式VMnet0):类似局域网中的一台独立的主机,它可以访问内网任何一台机器,但是它要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信(主机防火墙开启会ping不通)

  • 默认存在自动获取ip机制,只需要将虚拟机设置为Bridged(桥接模式),虚拟机会自动获取新的ip,保证ip地址与宿主机在同一个网段。
  • 手工配置机制,那么为了保持虚拟机与宿主机在同一个网段,其中涉及人工配置ip,比较麻烦。
    使用场景:如果想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。

3、ost-only(主机模式VMnet1) – 用的少
在某些特殊的网络环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式
在这种模式下宿主机上的所有虚拟机是可以相互通信的,但虚拟机和真实的网络(物理机网络)是被隔离开的

image.png

下一步下一步推荐就好,都给你解释好了

image.png

不建议删,已经是最小化化镜像了,删了各种问题

image.png

Install CentOS 7                                          安装CentOS 7

Test this media & install CentOS  7                       测试安装文件并安装CentOS  7

Troubleshooting                                           修复故障

直接回车安装或者按键盘↑键安装
image.png
在Trobleshooting模式下

Install Red Hat Enterprise Linux 7.1 in basic graphics mod         基本图形化安装

Rescue a Red Hat Enterprise Linux system                           修复系统

Run a memory test                                                  运行内存测试系统

Boot from local drive                                              本地设备启动

Return to main menu                                                返回主菜单

image.png

选磁盘

image.png

image.png

设个简单的root密码,虚拟机上开发没必要搞太麻烦

image.png

网络配置(Minimal版必做)

先看有没有yum,出现一大堆就是装了

yum --help

配置resolv.conf

vi /etc/resolv.conf

按i写入一下内容,esc推出插入模式再按:wq保存退出

nameserver 8.8.8.8
search localdomain

image.png

查看写成功没

cat /etc/resolv.conf

修改网卡配置

cd /etc/sysconfig/network-scripts
ls -a

image.png

vi ifcfg-ens33
# 插入模式
i
# 退出插入模式
ESC
# 保存退出
:Wq
# 重启网络
service network restart

改成ONBOOT=yes,网卡跟随系统启动

image.png

或者

静态ip设置(桥接模式在win上ipconfig查看IP,net模式在虚拟机网络看NET设置的子网IP)

#[UPDATE]将ip分配协议改为静态分配
BOOTPROTO=static
#[UPDATE]系统启动的时候网络接口是否有效
ONBOOT=yes
#[ADD]虚拟机IP地址(前三位与windowsIPv4保持一致,第四位自定义)
IPADDR=192.168.18.210
#[ADD]子网掩码 与本地windows子网掩码保持一致
NETMASK=255.255.255.0
#[ADD]网关 与本地windows默认网关保持一致
GATEWAY=192.168.18.1
#[ADD]域名解析器(主DNS)
DNS1=114.114.114.114
#[ADD]域名解析器(备DNS)
DNS2=8.8.8.8

Xshell7连接,虚拟机太难用了

官网

image.png

快捷键:工具->选项->键盘和鼠标

Ctrl+Insert 复制
Shift+Insert 粘贴

Ctrl+f 向后移动一个字符
Ctrl+b 向前移动一个字符
Ctrl+a 将光标移至输入行头,相当于Home键
Ctrl+e 将光标移至输入行末,相当于End键
Alt+f 以单词为单位,向前移动
Alt+b 以单词为单位,向前移动
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动
Alt+s 切换到简单版模式
Alt+Enter 切换至全屏
Ctrl+s 锁住终端,可用来停留在当前屏
Ctrl+q 解锁终端,恢复刷屏
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+Shift+r 重新连接

更换阿里源

备份

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bk

下载阿里源

wget -nc http://mirrors.aliyun.com/repo/Centos-7.repo

替换源

mv Centos-7.repo CentOS-Base.repo

安装工具(Minimal版必做)

如果在服务器装的Minimal版是最精简的CentOS,不配备图形界面,自带的软件最少。很多在DVD ISO版本上自带的命令和功能Minimal版本都没有

yum update                               #更新系统组件
yum install -y bash-completion           #安装bash-completion,装完重启系统,按tab可以补全命令                 
yum install -y vim                       #安装vim,提供vim命令
yum install -y net-tools                 #该组件提供dig,nslookup,ifconfig等命令,方便初始化网络环境
yum install -y wget                      #安装wget,提供wget命令
yum install -y perl perl-devel           #perl
yum install -y kernel-devel              #该组件包含用于内核开发环境所需的内核header文件以及Makefile
yum groupinstall -y Development tools    #一次性安装开发工具    
reboot                                   #重启系统

关闭SELinux

安全机制严格,软件装不上关掉这个

vim /etc/selinux/config
...
SELINUX=disabled    #禁用SELinux,重启后生效
...
setenforce 0               #立即关闭SELinux 

关闭防火墙

# 启动
systemctl start firewalld
# 关闭
systemctl stop firewalld
# 查看状态
systemctl status firewalld 
# 开机禁用
systemctl disable firewalld
# 开机启用
systemctl enable firewalld

配置ntp服务同步时间

yum install -y ntp
systemctl enable ntpd
systemctl restart ntpd

Linux目录结构

/bin        二进制文件,系统常规命令
/boot       系统启动分区,系统启动时读取的文件
/dev        设备文件
/etc        大多数配置文件
/home       普通用户的家目录
/lib        32位函数库
/lib64      64位库
/media      手动临时挂载点
/mnt        手动临时挂载点
/opt        第三方软件安装位置
/proc       进程信息及硬件信息
/root       临时设备的默认挂载点
/sbin       系统管理命令
/srv        数据
/var        数据
/sys        内核相关信息
/tmp        临时文件
/usr        用户相关设定

基本命令(Minimal版先安装工具)Linux命令

#linux操作
ctrl+l        		//清屏,往上翻可以查看历史操作
#重启
reboot
#立刻关机
shutdown -h now 或者 poweroff
#两分钟后关机
shutdown -h 2
#网络
ifconfig	        //查看ip,net-tools套件的一部分,较旧的网络配置工具
ip addr		//查看ip,ip命令的一个子命令,更详细和全面
ip route show	//查看路由表条目
service network restart	//重启网络
ifconfig eth0 up		//重启网卡
#防火墙
systemctl start firewalld	//启动防火墙
systemctl stop firewalld	//关闭防火墙
systemctl disable firewalld//禁用防火墙
firewall-cmd --reload	//重启防火墙
firewall-cmd --state		//查看当前状态
firewall-cmd --query-port=80/tcp	//端口开放情况
firewall-cmd --permanent --list-ports	        //查看开放的端口,permanent:表示设置为持久
firewall-cmd --permanent --add-port=8080/tcp	 //开放端口,add-port:标识添加的端口
firewall-cmd --permanent --add-port=8083-8085/tcp	//开放端口范围
firewall-cmd --permanent --remove-port=8083-8085/tcp	//关闭端口
#命令说明书
man shutdown         //打开命令说明后,可按"q"键退出
#切换用户
su root               	//切换为用户"root",输入后回车需要输入该用户的密码
exit                 	//退出当前用户
#切换目录
cd /                 	//切换到根目录
cd ..		        //切换到上一级目录
cd -                 	//切换到上次访问的目录
#查看目录
ls                   	//查看当前目录下的所有目录和文件
ls -a                	//查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l                	//列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /bin              	//查看指定目录下的所有目录和文件
#创建目录
mkdir tools          	//在当前目录下创建一个名为tools的目录
mkdir /bin/tools     	//在指定目录下创建一个名为tools的目录
#删除目录和文件
rm 文件名              	//删除当前目录下的文件
rm -f 文件名           	//删除当前目录的的文件(不询问)
rm -r 文件夹名         	//递归删除当前目录下此名的目录
rm -rf 文件夹名        	//递归删除当前目录下此名的目录(不询问)
rm -rf *              	//将当前目录下的所有目录和文件全部删除
rm -rf /*             	//将根目录下的所有文件全部删除(慎用!相当于格式化系统)
#修改目录
mv 当前目录名 新目录名        	//修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt       	//将/usr/tmp目录下的tool目录剪切到 /opt目录下
mv -r /usr/tmp/tool /opt    	//递归剪切目录中所有文件和文件夹
#拷贝
cp /usr/tmp/tool /opt       	//将/usr/tmp目录下的tool目录复制到 /opt目录下面
cp -r /usr/tmp/tool /opt    	//递归剪复制目录中所有文件和文件夹
#搜索目录
find /bin -name 'a*'   //查找/bin目录下的所有以a开头的文件或者目录
#查看当前目录
pwd
#新增文件
touch  a.txt
#查看文件
cat a.txt
less a.txt         		//PgUp向上翻页,PgDn向下翻页,"q"退出查看
more a.txt         		//显示百分比,回车查看下一行,空格查看下一页,"q"退出查看
tail -100 a.txt   		//查看文件的后100行,"Ctrl+C"退出查看
#文件授权:'r' 可读(4),'w' 可写(2),'x' 执行权限(1)
#chmod u=权限,g=权限,o=权限 file
chmod ugo+r a.txt 	//设置所有用户可读取文件 a.txt
chmod u+rwx a.txt		//设置 a.txt 只有 拥有者可以读写及执行
chmod 600 a.txt		//等价于  chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx a.txt
chmod 777 a.txt		//等价于  chmod u=rwx,g=rwx,o=rwx file 或  chmod a=rwx a.txt
#打包与压缩文件
.tar              		//打包文件的扩展名
.gz               		//压缩文件的扩展名
.tar.gz           		//打包并压缩文件的扩展名
#打包文件: z:调用gzip压缩命令进行压缩; c:打包文件;x:解压文件 v:显示运行过程; f:指定文件名
tar -zcvf filename.tar file	//将file打包为filename.tar
tar -zcvf a.tar file1 file2	//将多个文件打包为a.tar
#解压文件
tar -zxvf a.tar                   //解包至当前目录
tar -zxvf a.tar -C /usr    	 //指定解压的位置
unzip -l test.zip          	//查看*.zip文件的内容
unzip test.zip             	//解压*.zip文件
#查看服务状态
service ssh status
#查看所有服务状态
service --status-all
#重启服务
service ssh restart
#查看内存
free -g 			//以G为单位输出内存的使用量,-g为GB,-m为MB,-k为KB,-b为字节
free -t			//查看所有内存的汇总
#进程
top			//显示当前系统中占用资源最多的一些进程,shift+m 按照内存大小查看
ps a 			//显示现行终端机下的所有程序,包括其他用户的程序
ps -a			//显示所有程序
ps -ef			//查看所有正在运行的进程
kill pid       		//杀死该pid的进程
kill -9 pid    		//强制杀死该进程
#显示文件系统的磁盘使用情况
df -h
#挂载文件系统
mount /dev/hda1 /mnt	//将 /dev/hda1 挂在 /mnt 之下
#显示系统信息
uname -a
#yum
yum update		//更新所有软件
yum search package_name	//查找软件包
yum install package_name	//安装包
yum remove package_name	//删除包
yum clean packages	//清除缓存目录下的软件包
yum clean headers		//清除缓存目录下的 headers
yum clean oldheaders	//清除缓存目录下旧的 headers
#rpm
rpm -ivh package_name.rpm	//安装包
rpm -Uvh package_name.rpm	//升级包
rpm -e package_name	//卸载包
rpm -q package_name	//查询包
rpm -qa			//查询所有已安装的包
rpm -qi package_name	//查询一个包的信息
rpm -qip package_file.rpm	//查询一个rpm文件的信息
rpm -V package_name	//验证一个包
rpm -q --provides package_name//查询一个包的提供的功能
#wget下载文件
wget -b http://example.com/file.zip				//后台下载
wget -y http://example.com/file.zip				//在执行操作时自动回答 “yes”,省去用户确认步骤
wget -c http://example.com/file.zip				//断点续传下载
wget -r -np -nH --cut-dirs=2 http://example.com/dir/ -P /path/to/save	//递归下载指定 URL 中的所有链接,并保存到指定的目录

各种报错

1、报错
客户机操作系统已禁用CPU。请关闭或重置虚拟机

ctrl+shift+esc内核数量别超了

image.png

处理器数量改成1

image.png
关机后

image.png

版本换低一点

image.png

2、Centos7安装报错 Failed to start Create Uolatile Files and Directorie

3、报错Operating System not found

image.png

方法一:勾选启动时连接

image.png

方法二:确保宿主机开启
win+r->services.msc

image.png

方法三:下错镜像了,win要下x86_x64

4、Centos7安装报错Failed to start Import network configuration from initramfs

以上问题2、3、4都可换镜像解决,推荐换镜像,别的方法试了也不行就不推荐了

这是Minimal的http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso

5、执行yum update报错Loaded plugins: fastestmirrorCould not retrieve mirrorlist htDetermining fastest mirrors

image.png
按前面网络配置解决

6、断开连接后,报错Found a swap file by the name

image.png

删掉swap文件即可

ls -a
rm .ifcfg-ens33.swp
# 出现rm: remove regular file,按y同意

image.png

7、xshell连接虚拟机过一段时间断连,报错Socket error Event: 32 Error: 10053

方法1、修改租用时间,不然虚拟机过一段时间变ip

image.png

方法2、执行命令last终端仍然连着

  • ClientAliveInterval服务器向SSH客户端发送保活请求的时间间隔(以秒为单位)
  • ClientAliveCountMax定义了在没有响应的情况下允许发送保活请求的次数,如果客户端在指定次数内没有响应保活请求,服务器将终止与该客户端的连接

修改ssh配置

  • 把UseDNS去掉注释改为no
  • ClientAliveInterval去掉注释改大一点
  • ClientAliveCountMax去掉注释
vim /etc/ssh/sshd_config
# 重启ssh
systemctl restart sshd

在这里插入图片描述

方法3、添加ssh连接超时时间

echo export TMOUT=1000000 >> /root/.bash_profile 
cat /root/.bash_profile 
source .bash_profile

或者vi /etc/profile添加(本人在这里修改生效)

export TMOUT=0

方法4、卸载重装ssh
查看openshh包

rpm -qa openssh*

image.png

卸载

yum remove openssh-7.4p1-23.el7_9.x86_64
yum remove openssh-server-7.4p1-23.el7_9.x86_64
yum remove openssh-clients-7.4p1-23.el7_9.x86_64

安装

yum install openssh-server -y

启动

systemctl start sshd.service
#重启
systemctl restart sshd.service
#开机自启
systemctl enable sshd.service
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐