只更新了一部分,目前未完成,等待后续项目用到时候再更新
Ubuntu 21.04 使用教程(prerequisite for TF2)
1. 虚拟机
安装VMware Workstation 16 Pro
在官网下载VMware Workstation 16 Pro
安装完毕后百度寻找对应版本的license key激活
检查2个虚拟网卡是否自动配置成功

安装Ubuntu 20.04.2.0 LTS
新建虚拟机,选择经典配置即可,注意这里不要直接安装操作系统否则只能简易安装,会跳过所有初始设置

选择linux操作系统和Ubuntu 64位版本

虚拟机位置设置在固态硬盘的分区中,然后磁盘一开始设置尽量大一些(视虚拟机位置所在分区的大小而定),否则后面扩展分区比较麻烦,注意这里要选择将虚拟磁盘存储为单个文件

虚拟机配置完成后,下载Ubuntu 20.04.2.0 LTS版本
下载完成后在虚拟机的硬件设置 -- 新 CD/DVD (SATA)
处按照下图选中下载的iso镜像文件并保存设置
注意如果环境为VMware 15版本且win10自动更新没有关过,那么2021年微软最新推出的更新补丁会默认开启win10的Hyper-V虚拟机支持,会和VMware 15冲突导致启动虚拟机时主电脑蓝屏,因此这里要先取消选中启动时自动连接
,不然保存之后只要开启虚拟机直接蓝屏

蓝屏问题解决方法:
-
如果是win10专业版或者旗舰版,那么进入
控制面板 -- 程序 -- 启用或关闭windows功能
,然后关闭其中的Hyper-V
选项 -
如果是win10家庭版,那么新建bat文件,输入以下内容保存并以管理员权限运行,重启后然后同法1一样操作
pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i" del hyper-v.txt Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
-
卸载VMware 15,安装VMware 16也可以解决问题

启动虚拟机之后,开始初始设置,注意这里要选择正常安装
和安装时下载更新

然后等待安装完成(注意全程要联网下载更新和应用)

安装完毕后进入Ubuntu的初始设置页面,先跳过在线账户绑定和Livepatch,一直默认点击继续完成初始设置
如果想要保持页面在虚拟机上又想键盘和鼠标对外部进行操作需要按ctrl+alt切换出去
Q:如果中途出错了想要删除虚拟机如何操作
A:直接删除你的虚拟机位置中的所有文件,然后在VMware中移除虚拟机
虚拟机基础操作
虚拟机的关闭
可以在虚拟机内关机也可以在VMware内强行关机(不推荐)


虚拟机的挂起/恢复
挂起
是将当前状态冻结使虚拟机休眠,不占用任何CPU和内存,类似物理机的休眠
,恢复
是重新恢复到虚拟机挂起时候的状态,类似物理机的唤醒
,但是恢复后进行了更多操作是没法再恢复到之前的挂起状态的,要想达到这个效果必须进行快照(snapshot)
挂起恢复的目的是有时候需要反复关闭重启虚拟机,但是重新启动会占用大量时间,非常慢,此时就可以通过挂起恢复来代替
一般通常点击控制台的挂起客户机和恢复客户机即可,占用资源趋近于无

硬件参数设置
点击这里即可进入硬件设置进行修改,但是建议关闭虚拟机再进行修改

硬件状态栏

在虚拟机右下角,依次是硬盘、CD/DVD、网卡、打印机、声卡、USB吗,最右侧是消息栏
全屏显示
点此进入全屏模式,再次点击退出

全屏模式下点此隐藏/固定命令栏

快照和系统恢复
系统弄坏了的时候,一般使用快照恢复系统,重装系统虽然快但是配置环境之类的会全部消失
快照记录之后在需要的时候重新恢复即可

PS:注意区分快照和克隆
克隆是在虚拟机层级的备份,相当于可以同时使用多个一样的快照起点

2. 桌面环境与环境配置
桌面环境
上部:状态栏
左侧:收藏夹,常用的应用程序,类似windows的“开始”屏幕
左上角:查看正在活动的程序Activities,类似windows的win+Tab
左下角:查看所有的应用程序,类似windows的开始 -- 所有应用
右上角:系统状态、用户、系统设置、关机与注销
常用快捷键
查看活动窗口:Alt+F1
切换当前窗口:Win+Tab
切换输入法快捷键:Win+Space
或者在屏幕右上角可以手动切换
屏幕截图到图片目录:+Print
屏幕截图到剪贴板:Ctrl+Print
选区截图到图片目录:Shift+Print
选区截图到剪贴板:Ctrl+Shift+Print
(Extra)安装VMware Tools进行交互
不要使用以前的对VMwareTools…tar.gz提取解压,然后在终端**./vmware-install.pl**的方法,Ubuntu 20.04会报错
在线安装即可
sudo apt-get update
#更新源服务器的软件包列表
sudo apt upgrade
#根据列表信息更新已经安装的软件包
sudo apt install open-vm-tools-desktop
sudo apt-get install open-vm-tools
#安装open-vm-tools和desktop两个软件包
sudo reboot
#重启
安装完成后应该可以实现3个功能:
- 鼠标可以自由切换在虚拟机和主机之间不必再按
Ctrl+Alt
- 能进windows和ubuntu之间文件的复制粘贴
- 能在windows和ubuntu之间文件互相拖动文件
(Extra)基础系统配置
安装32位兼容库放到之后,如果用到再补充
一、设置root密码
打开命令行(终端),输入
sudo passwd root
即可设置root密码,直接输入密码即可,linux系统不会显示输入的密码
二、更换下载镜像源(推荐阿里源)
注意会导致图形界面的 software 商店不可用
安装Vim用于后续在命令行中编辑文件
sudo apt install vim
#首先备份原来的软件源并另存
sudo cp -v /etc/apt/sources.list /etc/apt/sources.list.backup
#执行chmod命令更改文件权限使软件源文件可编辑
sudo chmod 777 /etc/apt/sources.list
#使用vim修改
vim /etc/apt/sources.list
vim的使用:进入后按i进入编辑模式(即INSERT插入),编辑完后先按Esc退出编辑模式,然后输入
:wq!
退出即可。
打开源文件后,进入编辑模式将所有的代码注释掉,然后复制粘贴你需要的镜像源(下面的镜像源任选一个就可以,我用的是阿里云的镜像源,这里记得把ubuntu版本名替换为你在自己系统上查看到的版本名)编辑完后先按Esc退出编辑模式,输入
:wq!
退出在退出编辑模式后,vim可以一步步撤销之前的操作
u
,恢复操作ctrl+r
ubuntu 16.04 配置如下:
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
ubuntu 18.04(bionic) 配置如下:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
ubuntu 20.04(focal) 配置如下:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
Esc
退出编辑模式,:wq!
保存退出
#更新镜像源的包列表
sudo apt update
#根据列表信息更新已经安装的包
sudo apt upgrade
补充:
- apt是一个包管理工具,类似yum或者pip
- sudo命令是以系统管理者的身份执行指令
- update是根据设置的源(Source)服务器,更新最新的软件包列表,包含版本信息、系统要求、翻译、依赖项等等信息
- upgrade则是根据包列表,对已经安装的软件包本身进行更新
- dist-upgrade和upgrade区别:
- upgrade:系统将现有的Package升级,如果有相依性的问题,而此相依性需要安装其它新的Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来
- dist-upgrade:可以聪明的解决相依性的问题,如果有相依性问题,需要安装/移除新的Package,就会试着去安装/移除它. (所以通常这个会被认为是有点风险的升级)
如果后续需要换源回来
sudo mv /etc/apt/sources.list.backup /etc/apt/sources.list
#用备份的源重命名覆盖当前源文件
经常提示检测到系统程序出现问题

解决方法:
sudo gedit /etc/default/apport
把里面的enabled=1改成enabled=0,保存即可

3. 文件系统
文件系统
windows每一个盘符(drive letter)对应一个分区(partition)
linux使用统一的目录树结构,例如
# 根目录
/
# 一级子目录
/home/shaofa
/root
/bin
/mnt
/usr
/etc
注意:Linux下没有C: D: 这种盘符的概念
打开文件
应用程序,会进入用户文件夹
,类似windows的文件资源管理器
根目录是计算机
,在其他位置 -- 计算机处

打开即可进入系统的根目录,也就是/

用户目录
Linux系统上支持多个用户,每个用户一个目录
例如用户kimtanyo
的用户文件夹就存放于/home/kimtanyo
特例:管理员root
的用户目录为/root
,是一级子目录

对于普通用户,能进行操作的位置只有用户目录下的文件或子目录
对于root用户,可以操作任意文件和目录

注意:普通用户登录只能在相应用户目录下进行创建、删除、重命名、修改文件等操作
4. 常用命令
一般情况下,不会经常使用图形界面,以终端命令行为主
文件列表
- ls
列出文件和文件夹,即list
# 列出当前目录下的所有项
ls
# 列出当前目录下的所有项,其中,-l 参数表示详细模式
ls -l
# 列出 /home/shaofa/example 下所有项,以详细方式列出
ls -l /home/kimtanyo/example
# 其中,-ld 表示列出一个目录本身,而非目录下的子项
ls -ld /opt
从左至右依次是:权限 -- 子项数量 -- 创建者 -- 组 -- 字节大小 -- 最后修改时间 -- 名称

小技巧
-
在输入命令和路径时,按 TAB 键可以自动补全
ls /ho → ls /home
-
输入历史可以翻阅
按 ↑ ↓ 箭头键可以上下翻阅
-
宿主机 与 虚拟机之间可以拷贝粘贴文本命令
装了VMware Tools之后可以还可以拷贝粘贴文件
目录切换
- pwd
显示当前目录路径,即 print working directory
- cd
切换当前目录 即 current directory
例如
cd /home/kimtanyo/example # linux没有盘符所以不需要像windows的cmd那样额外添加切换盘符的参数
cd ~/example # ~表示用户目录 等同于/home/kimtanyo
cd ../hello # ..表示上一级目录
cd ( 不带参数时,表示回到主目录 ) # 等同于 cd~
几个特殊目录:
~ 代表当前用户的主目录
. 代表当前目录
.. 代表上一级目录
注意:在命令行里会提示当前目录
文件与目录操作
- mkdir
创建目录,即make directory
# 在当前目录下创建子目录
mkdir example
# 使用 -p 参数,可以将路径的层次目录全部创建
mkdir -p example/test1/test2
- rmdir
删除一个空目录,即 remove directory
# 删除当前目录下的空目录
rmdir example
如果目录非空,则删除失败
一般来说,我们会使用 rm 命令来删除
- rm
删除文件或者目录,即 remove
# 删除example目录,和子项一并删除,其中,r 表示 recursive,f 表示 force
rm -rf example
# 删除 example目录下的所有子项 但是保留example目录
rm -rf example/*
删库跑路(玩笑)
# 绝对不要试
rm -rf /*
- cp
复制文件或者目录,即 copy
# -rf可以保证强制递归地复制目录下的所有文件
cp -rf example example2
- mv
移动文件或目录 (或者重命名),即 move
# 重命名hello为helloword
mv hello helloworld
# 移动目录ex到 ~/下载,并且重命名为example
mv ex 下载/example
归档压缩
- tar
档案打包,即 tape archive
归档目的是为了备份文件,磁带就是以前的一种长期备份文件方式
(1) 创建档案包
# 打包example创建ex.tar
tar -cvf ex.tar example
# 也可以多个目录打包
tar -cvf xxx.tar file1 file2 file3
其中,
c , 表示 create 创建档案
v , 表示 verbose 显示详情
f , 表示 file文件名
(2) 还原档案包
tar -xvf example.tar
tar -xvf example.tar -C 桌面
其中,-C 参数指定目标目录,默认解到当前目录下
(3) 创建档案并压缩
先前的tar格式并没有压缩,体积较大
# 并档并压缩
tar -czvf example.tar.gz example
# 解压缩
tar -xzvf example.tar.gz
tar -xzvf example.tar.gz -C outdir
通常我们所见的,都是 *.tar.gz 这种格式
清屏
- clear
刷新屏幕,本质上是让终端往后翻页了,向上滚动还是能看到之前的信息
- reset
完全清空之前的操作信息,在终端控制错乱的时候经常使用,例如输入字符不出现在光标的位置,或者敲回车新提示符不在行上而在老提示符的前面
- Ctrl+L
是clear的快捷键,最常使用
软链接
其他
- man
查看一个命令的帮助,即 manual
# 查看 tar 命令的帮助
man tar
软链接
软链接,即 Windows 下的 "快捷方式",但在ubuntu图形界面不会显示软链接的实际路径
使用 ln 命令 (link) 来创建软链接ln -s source link
ln -s example exink
其中,-s 表示 soft 软链接 ( 默认为硬 )
软链接的特点:
- 删除软链接,对原文件没有影响
- 删除原文件,则软链接失效
以 ls -l 目录名
查看文件详情时,可以看到目标路径
ls -l /
可以发现,/bin 实际指向的是 /usr/bin 目录

除了在图形界面通过图标看出来,在 ls -l 目录名
下,软链接也可以通过显示的颜色看出来
除了软链接之外,还有一个为硬链接
硬链接可认为是一个文件拥有两个文件名
ln -s example exduplicate
硬链接的特点
- 硬链接,以文件副本的形式存在,但不占用实际空间
- 不允许给目录创建硬链接
不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间
5. 用户和组
编辑用户
- sudo
以root权限运行某些命令,即 super user do
- useradd
添加用户,必须以root用户或权限执行
# 添加一个名为 xiaoming 的账户
sudo useradd xiaoming
# 添加一个账户并在/home下建立用户目录,-m参数表示在 /home 下添加用户目录
sudo useradd -m xiaoming
- passwd
修改用户的密码,必须以root用户或权限执行
# 修改用户xiaoming的密码
sudo passwd xiaoming
# 不加用户名时,表示修改当前登录用户的密码
sudo passwd
- userdel
删除用户,必须以root用户或权限执行
sudo userdel xiaoming
# 清除用户目录
sudo rm -rf /home/xiaoming
注意:
-
在登录系统时,默认不允许以 root 用户登录
-
Linux下,把能执行sudo命令的用户叫 sudoer,只有特殊的用户,才能执行 sudo
例如这里新建的xiaoming用户是不能执行sudo命令的
- su
可以切换用户, 即 switch user
su
su kimtanyo
su root
默认地,如果不带参数则表示切换到root账户
- exit
表示退出当前登录的用户,例如
su
…………
…………
…………
exit
超级用户
Ubuntu自带一个具备所有权限的超级用户root,也叫根用户
首次使用时,需要给 root 设置密码
sudo passwd root
切换到 root 用户
su root # su也可以
………………
exit # 退出root用户
其中,su 表示 switch user
- groupadd
创建组,必须以root用户或权限执行
# 创建一个名为boys的组
sudo groupadd boys
# 新增用户加到boys组,-g表示添加到组中
sudo useradd -g boys ming
# 修改现有用户到新的组
sudo usermod -g boys kimtanyo
# 查看组信息
cat /etc/group
# 查看用户信息
cat /etc/passwd
- groupdel
删除组,必须以root用户或权限执行
# 删除名为 boys 的组
sudo groupdel boys
如果组中有用户,则必须事先删除里面的用户