1 Ubuntu系统安装

1.1 制作启动盘

准备一个U盘,将其清空后,去官网下载Ubuntu18.04系统的iso镜像文件,并将其拷进U盘。然后下载一个UltralOS软碟通工具,完成安装后打开软碟通,文件->打开,打开我们的iso镜像,选择U盘点击启动->写入硬盘映像,最后写入就完成U盘启动盘的制作。

1.2 安装系统

插入U盘,关机重启,一直按Delete键进入BIOS界面,选择BOOT,将U盘设为第一boot,然后按F4重启,进入u盘启动界面。   

选择语言后,选择正常安装:

安装类型选择其他选项:

完成分区后,进行安装(注意:选择安装启动引导器的设备时选择Ubuntu根目录所在位置的sdb,选择错误会导致重启后黑屏)

设置计算机名称和密码,选择自动登录,安装完成后拔掉U盘重启进入Ubuntu系统。

1.3 系统配置

1.3.1 网络配置

设备连接网线后,进入设置->网络,进行手动网络配置:

1.3.2 安装ifconfig命令

首先找到软件和更新,完成更新后,进入终端,输入命令:

sudo apt install net-tools

1.3.3 安装ssh服务

(1)安装openssh-server:

sudo apt-get install openssh-server

(2)开启ssh服务:

sudo /etc/init.d/ssh start

(3)查看ssh服务是否开启:

ps -e | grep ssh

带有sshd说明已开启。

1.3.4 安装多人VNC服务

(1)搜索可以用来安装vncserver的软件包:

sudo apt-cache search vncserver

(2)安装VNC的基础服务(这里选择vnc4server):

sudo apt-get install xfce4
sudo apt-get install vnc4server
sudo apt-get install xrdp
sudo apt-get install xbase-clients
sudo apt-get install xubuntu-desktop
echo "xfce4-session" >~/.xsession

(3)编辑配置文件:

sudo vi /root/.vnc/xstartup

替换为如下内容:

#!/bin/sh
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
sudo startxfce4 &
sudo xhost +
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey

(4)安装gnome:

sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

(5)编辑配置文件(决定能不能多人访问的关键一步):

sudo gedit /etc/xrdp/startwm.sh

在test -x  /etc/X11/Xsession 上一行插入:

xfce4-session

(6)保存文件后重启服务:

sudo service xrdp restart

(7)编辑配置文件:

sudo vi /etc/xrdp/sesman.ini

在末尾添加下面两行:

param8=-SecurityTypes
param9=None

(8)开启屏幕共享:

安装完成后,需要进入设置->共享->屏幕共享 设置密码并开启服务。

(9)编辑配置文件:

由于windows系统关闭远程桌面连接时,linux上的进程并没有关闭,会导致连接数量达到上限,出现问题。因此还需再修改一次配置文件sesman.ini:

sudo vi /etc/xrdp/sesman.ini

在MaxSessions=50后添加一行:

KillDisconnected=1;#每次断开连接,linux都会结束会话进程

(10)保存文件后重启服务:

sudo service xrdp restart

(11)设置开机自启VNC:

①在 /etc/init.d 目录下写一个脚本vnc.sh:

sudo vi /etc/init.d/vnc.sh

插入内容如下:

#!/bin/bash
#svnserve startup
vnc4serve -d

②保存脚本后执行:

sudo update-rc.d vnc.sh defaults

(12)设置屏幕分辨率:

vncserver -geometry 1920x1024

(13)开启VNC服务命令:

vnc4server :端口号

(14)补充:如果通过VNC远程桌面遇到报错(No matching security types),解决办法,命令行输入:

gsettings set org.gnome.Vino require-encryption false

1.3.5 virsh命令安装

(1)virsh安装:

sudo apt install libvirt-clients

(2)查看虚拟机列表命令:

sudo virsh list

1.3.6 修改网卡名称为传统的eth方式

(1)编辑配置文件:

sudo vi /etc/default/grub

(2)找到GRUB_CMDLINE_LINUX=""并将其修改为:

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

(3)重新生成GRUB的启动菜单配置文件(/boot/grub/grub.cfg):

sudo update-grub

(4)重启系统后,网卡名称就会变成eth0、eth1、eth2……

(5)可以通过输入命令查看:

ifconfig

1.3.7 用户加入sudo权限

(1)进入超级用户模式:

su -

(2) 加入文件的写权限:

chmod u+w /etc/sudoers

(3) 编辑/etc/sudoers文件:

vi /etc/sudoers

找到"root ALL=(ALL) ALL"并在下面一行插入:

用户名 ALL=(ALL) ALL

保存文件后退出。

(4) 撤销文件的写权限:

chmod u-w /etc/sudoers

2 KVM安装

2.1 检查CPU是否支持虚拟化

egrep -c '(svm|vmx)' /proc/cpuinfo

上面命令执行结果如果返回数值大于0,表示CPU支持虚拟化技术。

2.2 进入BIOS开启虚拟化技术

关机重启,一直按Delete键进入BIOS界面,进入Security->Virtualization,将Disabled改成Enabled,按F4保存并重启。

2.3 安装KVM依赖

sudo apt update
sudo apt-get install qemu-kvm
sudo apt-get install qemu
sudo apt-get install virt-manager
sudo apt-get install virt-viewer
sudo apt-get install libvirt-bin
sudo apt-get install bridge-utils

补充:

安装KVM依赖的时候,可能会遇到如图所示报错(无法获得锁/var/lib/dpkg/lock-frontend -open)

解决方法,执行强制解锁命令:

sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/cache/apt/archives/lock-frontend

2.4 libvirtd服务

2.4.1 启动libvirtd服务,并设置开机自动启动

sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service

2.4.2 查看libvirtd服务状态命令:

service libvirtd status

2.5 验证KVM安装情况

kvm-ok

上图表示KVM已装好。

2.6 进入KVM图形界面

sudo virt-manager

手把手教你配置KVM服务器的更多相关文章

  1. 第一节:学会Java前提-手把手教你配置JDK环境变量

    前言 大家好,今天写一遍学会Java前提-手把手教你配置JDK环境变量的概述,希望你们喜欢 下载地址 下载jdk,和eclipse就比较简单了,提供JDK 9 地址: http://www.oracl ...

  2. 【必知必会】手把手教你配置MySQL环境变量——图文详解

    一.先决条件 假设我们已经成功安装MySQL数据库.如果还有小伙伴不知道如何安装MySQL数据库,可以在本文下留言,留言数超20,则出一期"手把手教你安装MySQL数据库--图文详解&quo ...

  3. Linux环境搭建 | 手把手教你配置Linux虚拟机

    在上一节 「手把你教你安装Linux虚拟机」 里,我们已经安装好了Linux虚拟机,在这一节里,我们将配置安装好的Linux虚拟机,使其达到可以开发的程度. Ubuntu刚安装完毕之后,还无法进行开发 ...

  4. 最香远程开发解决方案!手把手教你配置VS Code远程开发工具,工作效率提升N倍

    文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 今天和大家分享远程开发工具,分享一下我平常是如何用 V ...

  5. 手把手教你搭建nuget服务器

    新建web项目 工具:VS2013 版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server 装了NuGet客户端(百度如何安装) WebForm或MVC都 ...

  6. 手把手教你配置苹果APNS推送服务|钿畑的博客 | 钿畑的博客

    http://www.360doc.com/content/15/0118/17/1073512_441822850.shtml# 钿畑的文章索引 1. 什么是推送通知 2. 什么是APNS? 3. ...

  7. 手把手教你搭建DHCP服务器

    目录 DHCP实现原理 DHCP定义 DHCP分配方式 DHCP工作过程 初次登录 重新登录 更新租约 搭建DHCP服务器 实验目的 实验环境 实验步骤 实验结果 DHCP实现原理 DHCP定义 DH ...

  8. Pytorch入门——手把手带你配置云服务器环境

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天这篇是Pytorch专题第一篇文章. 大家好,由于我最近自己在学习Pytorch框架的运用,并且也是为了响应许多读者的需求,推出了这个P ...

  9. 手把手教你配置UltraEdit对Oracle的PLSQL着色

    http://hi.baidu.com/kingbridge/blog/item/94e225ad5fad4b194b36d60d.html   UltraEdit-32 12.1版本配置默认文件显示 ...

随机推荐

  1. [原题复现]2018HCTF WEB admin(session伪造、unicode漏洞、条件竞争)

    简介  原题复现:https://github.com/woadsl1234/HCTF2018_admin  考察知识点:session伪造.unicode漏洞.条件竞争  线上平台:https:// ...

  2. CSRF和XSS的区别

    XSS是啥? xss就是跨域脚本攻击 什么是跨域脚本攻击? 就是在正常的输入框中(如:用户名修改等)插入script恶意代码,从而在你遍历数据的时候加载该js文件, 获取你的cookie或sessio ...

  3. C++中class和struct区别

    1.存储不同 结构体使用栈存储(Stack Allocation),而类使用堆存储(Heap Allocation). 栈的空间相对较小.但是存储在栈中的数据访问效率相对较高. 堆的空间相对较大.但是 ...

  4. 思维导图MindManager流程图有哪些功能

    流程图是思维导图中的一种图表,应用相当广泛.MindManager 2020作为专业的思维导图软件,更加强了流程图的功能,让用户能使用更加简便的MindManager技巧绘制流程图.接下来,就让我们一 ...

  5. MySQL开发篇(未完待续)

    一.索引 什么是索引? 索引是帮助Mysql提高获取数据的数据结构,换一句话讲就是"排好序的快速查找的数据结构". 1.索引的分类 MySQL主要的几种索引类型:1.普通索引.2. ...

  6. {"non_field_errors":["Unable to log in with provided credentials."]}% 无法使用提供的凭据登录

    在使用rest_framework_jwt进行登陆验证获取token的时候会报 {"non_field_errors":["Unable to log in with p ...

  7. pytest的setup和teardown

    学过unittest的setup和teardown,前置和后置执行功能.pytest也有此功能并且功能更强大,今天就来学习一下吧. 用例运行级别: 模块级(setup_module/teardown_ ...

  8. D - Number of Multisets 题解(思维dp)

    题目链接 题目大意 给你一个数k和n,表示用n个\(1/2^i(i=0,1,2.....)\)组成k有多少种方案数 题目思路 这个dp实属巧妙 设\(dp[i][j]表示i个数构成j\) 这i个数可以 ...

  9. 使用github actions 完成一些自动化工作

    github actions 是什么? github actions是github的持续集成及自动化工作流服务,使用起来都比较方便.大部分github actions都可以在https://githu ...

  10. 小叶入门之Python爬虫(一)

    一.Python简洁的简介 Python是一种跨平台的计算机程序设计语言.它是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.最初被设计用于编写自动化脚本(shell),随着版本的不断更 ...