最近vmware workstation出17版本了,加上之前Ubuntu磁盘管理出了一些问题,识别不到虚拟机新分配的硬盘空间,于是打算重装一下Ubuntu,记录一下过程。
安装VMware Workstation 17
安装包地址:VMware Workstation 17
许可证:MC60H-DWHD5-H80U9-6V85M-8280D
安装Ubuntu
此处使用了Ubuntu的22.04.1版本。镜像位于USTC ubuntu镜像。
推荐使用“典型”安装方式。按照个人电脑的配置进行CPU、内存和硬盘的分配;此处我分配了256GB的硬盘和8GB的内存,CPU个数为1,CPU内核个数为16。其余选项默认。此处分配了较大的空间,主要目的是防止以后有磁盘空间不够的情况出现。
Ubuntu出现安装界面时,选择“minimum installation”,避免安装大量的无用软件;取消勾选“download updates”,待安装完成后在进行update。
不勾选自动更新是因为此时未换源,更新速度很可能极慢。
安装完成后Ubuntu就可以使用了,但是为了更好地使用,还需要进行一定的配置。
配置Ubuntu
换软件源(USTC源)
打开终端,输入以下命令:
1 | sudo sed -i 's/cn.archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list |
可将软件源更换为ustc源。再打开sources.list,可见所有的archive.ubuntu.com均换成了mirrors.ustc.edu.cn。
sudo为使用管理员权限执行命令;sed为linux中的一个文本脚本编辑器;后续参数
s/a/b/g
将所有的a替换为b。sources.list的位置即为最后的参数
etc/apt/sources.list
。
换源之后,apt下载软件包速度会变快,并能防止连接不上服务器的情况发生。
再进行软件源的更新与软件的更新
1 | sudo apt update |
即可自动将软件包更新到最新的版本。
apt为Ubuntu中的软件包管理器,可从上述修改的软件源中获取软件包,并自动安装。与之对应的,由已经在本地的
dpkg
文件直接安装的包管理器为dpkg。
apt update
指更新软件源列表,可以检查本地的软件是否有更新;apt upgrade
指更新软件,将apt update
获取的可更新列表付诸实践,进行软件的更新。推荐先进行
apt update
,再进行apt upgrade
。在
apt update
的终端输出中,观察到所有的下载地址均为“/mirrors.ustc.edu.cn/”,也可以证明上述修改软件源的操作是正确的。
修改语言
settings >> region & language >> manange installed language >> install/remove languages即可。
也可通过终端更改,见Ubuntu修改终端下的语言(中文或英文)
除了更改语言与使用浏览器等需要桌面GUI的操作,其他情况下均推荐使用终端控制。
现在Ubuntu语言就已经更换为中文了。
安装常用软件
终端运行如下命令:
1 | sudo apt install vim build-essential python3-pip git xxd wget curl net-tools |
apt install
后跟多个参数可以同时安装多个软件包。以下依次概括常用软件的用途:
vim
:终端文本编辑器。linux上编辑文件最常用的文本编辑器,所有终端编辑文件的操作基本均需使用。vim的使用方法此处不展开,可自行查询。
build-essential
:c/c++编译器。包括gcc、g++、make等。
python3-pip
:python的包管理器。安装python库大都需要该程序。(因为有conda
)
git
:版本控制系统。可以进行文本文件的版本控制。git的使用方法此处不展开,可自行查询。
xxd
:16进制转换器。可将文件以16进制形式存储。
wget
/curl
:网络下载器。可从指定的链接下载网络上的文件。同时二者还有测试网络连接等等功能。
net-tools
:网络工具箱。包括了ifconfig
等命令,可用于检测网络状况。
ssh与远程
ssh是Secure SHell的缩写。通过ssh可以实现远程访问终端,则以后需要打开终端时就不需要在虚拟机上打开了。如果不需要Ubuntu的桌面,则完全可以只使用ssh控制,将虚拟机放在后台。
打开终端,输入以下命令:
1 | sudo apt install openssh-server openssh-client |
此时虚拟机上就已经有ssh软件包了。
openssh-server允许本机作为宿主机,其他机器连接到本机上;
openssh-client允许本机连接其他机器。
账号密码连接
在虚拟机的终端输入ifconfig
命令,找到ens33内inet后的ipv4地址,即为主机连接虚拟机的地址。
在主机远程软件(例如xshell、terminus等)上输入该地址,并输入账号密码,即可远程登录该主机。
从此以后,涉及到的所有终端操作均可通过远程连接。
密钥连接
远程密钥连接需要在本地生成私钥与公钥,将公钥发给外部机器,外部机器即可访问本机。
终端输入以下命令,并连打三次回车以生成密钥:(引号内为邮箱地址)
1 | ssh-keygen -t rsa -C "xxx@yyy.com" |
连打三次回车的目的:
- 第一次为输入密钥存放的地址,此处直接选择默认地址即可;
- 第二次与第三次为输入与验证passphrase,无需要则可以直接回车略过。
此时密钥已经生成在**/home/usrname/.ssh**文件夹内了。
通过sftp连接主机(可使用账号密码连接),将**/home/usrname/.ssh/id_rsa**文件复制到宿主机上,并通过该私钥连接虚拟机即可。
git ssh配置
git可以通过上述生成的密钥进行ssh连接,保护了pull、clone、push等操作的安全性。此处不做详解,可在网络上找到教程。
桌面环境配置
Ubuntu默认的桌面为gnome桌面,修改桌面的外观需要与gnome有关的插件。
终端运行以下指令:
1 | sudo apt install gnome-tweak chrome-gnome-shell gnome-shell-extensions gnome-extensions-app |
即可获取与修改gnome桌面有关的依赖软件。
重启机器,使更改生效;在应用程序列表中将找到tweak(优化)与extensions(扩展)。
在优化中:
- “字体”下的“缩放比例”可以更改桌面的缩放大小;
- “键盘与鼠标”下的“其他布局选项”可以修改键盘映射;个人常将Esc与Caps Lock互换以便于vim的编辑,则在“Caps Lock 行为”中找到“Swap Esc and Caps Lock”并选中即可。
(可选)zsh、oh-my-zsh、p10k及相关插件的安装
zsh是linux系统中除bash外的另一种shell,功能比bash强大,可添加插件等,对于终端的操作有很大帮助。
oh-my-zsh和powerlevel10k均为zsh的插件,可以美化zsh。
以下软件的安装均为可选项,主要目的在于美化与增强终端功能,使用bash也不会造成过大的影响。
相关字体的安装
为了正常显示p10k中的字体,首先进行相关字体的安装。
前往Fonts页面,下载其中的**MesloLGS NF ***字体,并安装。此处在桌面操作较方便。
终端输入以下命令,以检验安装是否成功。
1 | fc-list | grep MesloLGS |
如果在列表中能看到各MesloLGS NF字体,则安装成功。
fc-list
用于显示所有安装的字体。由于字体过多,列表将会很长,不利于查找是否有所需的字体。于是使用
grep
命令,在给定的文本中寻找MesloLGS字体。
|
是管道 (pipe),用于将前一指令的输出重定向为后一指令的输入。
注意应在终端(远程、本地)的配置中修改显示字体为MesloLGS。
zsh安装
终端输入sudo apt install zsh
即可。
zsh的配置文件在~/.zshrc
中,可以进行主题更换、插件安装等操作。具体在以下步骤中说明。
oh-my-zsh安装
终端输入以下指令:
1 | sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" |
或者使用wget
:
1 | sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" |
即可安装oh-my-zsh。过程中会询问是否将默认终端转换为zsh,此处输入y选择是。
此处可以看出
wget
与curl
有相似之处。
安装完成后发现shell的提示符变为箭头→,说明默认终端已经更改为了zsh。
oh-my-zsh主题更换
oh-my-zsh已经有很多的主题,在.zshrc
中选用合适的主题即可。
例如想要更换为agnoster主题,则只需在.zshrc
中修改ZSH_THEME="agnoster"
,再执行source ~/.zshrc
重新加载.zshrc
即可看到更改后的主题。
powerlevel10k安装
终端输入以下指令:
1 | git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k |
即可安装powerlevel10k。
在.zshrc
中修改ZSH_THEME="powerlevel10k/powerlevel10k"
,再执行source ~/.zshrc
重新加载.zshrc
即可进入powerlevel10k的配置界面。按照提示操作即可配置p10k的界面设置。
若要重新配置p10k,则在终端输入p10k configure
即可重新回到配置界面。
zsh插件安装
zsh-syntax-highlighting
这个插件可以帮助检查语法。输入正确的语法会显示绿色,错误的会显示红色。
终端输入以下指令:
1 | git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting |
修改.zshrc
中plugins=(git zsh-syntax-highlighting)
,再执行source ~/.zshrc
重新加载.zshrc
即可。
其他插件
另有zsh-autosuggestions插件,可用于自动补全之前输入过的命令。安装方法与上述插件类似。地址如下:
1 | git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions |
后续
Ubuntu的配置基本到此就结束了。目前已经可以使用Ubuntu进行基本的开发工作了。
Linux内容博大精深,上述安装只是一个了解Linux的入口。深入了解Linux需要大量的实践与试错。