下载VMware个人免费版
注册登录再进网址就能看到了
下载镜像
注意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 精简版,自带的软件最少
如果你要下Minimal,踩坑多次找出来的,推荐http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
安装系统
新建虚拟机
典型、自定义都可以
16.2x
选镜像位置
选安装位置
不能超过宿主机内核总数,处理器数量就是几个CPU超了报错
2G就够了,我内存大选多一点
1、NAT(网络地址转换模式VMnet8):通过宿主机的网络来访问公网。虚拟局域网内的虚拟机在对外访问时,使用的则是宿主机的IP地址,这样从外部网络来看,只能看到宿主机,完全看不到新建的虚拟局域网。
优势:虚拟系统接入互联网非常简单,只需宿主机器能访问互联网即可, 不需要进行任何手工配置。
2、Bridged(桥接模式VMnet0):类似局域网中的一台独立的主机,它可以访问内网任何一台机器,但是它要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信(主机防火墙开启会ping不通)
- 默认存在自动获取ip机制,只需要将虚拟机设置为Bridged(桥接模式),虚拟机会自动获取新的ip,保证ip地址与宿主机在同一个网段。
- 手工配置机制,那么为了保持虚拟机与宿主机在同一个网段,其中涉及人工配置ip,比较麻烦。
使用场景:如果想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。
3、ost-only(主机模式VMnet1) – 用的少
在某些特殊的网络环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式
在这种模式下宿主机上的所有虚拟机是可以相互通信的,但虚拟机和真实的网络(物理机网络)是被隔离开的
下一步下一步推荐就好,都给你解释好了
不建议删,已经是最小化化镜像了,删了各种问题
Install CentOS 7 安装CentOS 7
Test this media & install CentOS 7 测试安装文件并安装CentOS 7
Troubleshooting 修复故障
直接回车安装或者按键盘↑键安装
在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 返回主菜单
选磁盘
设个简单的root密码,虚拟机上开发没必要搞太麻烦
网络配置(Minimal版必做)
先看有没有yum,出现一大堆就是装了
yum --help
配置resolv.conf
vi /etc/resolv.conf
按i写入一下内容,esc推出插入模式再按:wq保存退出
nameserver 8.8.8.8
search localdomain
查看写成功没
cat /etc/resolv.conf
修改网卡配置
cd /etc/sysconfig/network-scripts
ls -a
vi ifcfg-ens33
# 插入模式
i
# 退出插入模式
ESC
# 保存退出
:Wq
# 重启网络
service network restart
改成ONBOOT=yes,网卡跟随系统启动
或者
静态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连接,虚拟机太难用了
快捷键:工具->选项->键盘和鼠标
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内核数量别超了
处理器数量改成1
关机后
版本换低一点
2、Centos7安装报错 Failed to start Create Uolatile Files and Directorie
3、报错Operating System not found
方法一:勾选启动时连接
方法二:确保宿主机开启
win+r->services.msc
方法三:下错镜像了,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
按前面网络配置解决
6、断开连接后,报错Found a swap file by the name
删掉swap文件即可
ls -a
rm .ifcfg-ens33.swp
# 出现rm: remove regular file,按y同意
7、xshell连接虚拟机过一段时间断连,报错Socket error Event: 32 Error: 10053
方法1、修改租用时间,不然虚拟机过一段时间变ip
方法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*
卸载
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