Ubuntu是基于Debian的、免费的Linux发行版,Ubuntu官方承诺:
Ubuntu将永远免费,包括企业版和安全升级。
Ubuntu将全球数百个公司提供商业支持。
Ubuntu包含由自由软件团体提供的最佳翻译和本地化。
Ubuntu光盘仅仅包含自由软件,鼓励用户使用自由和开源软件,并改善和传播它。
相对于RedHat系列的发行版,Ubuntu显得更为激进。如果你想体验最新的Linux内核、最新的软件仓库,Ubuntu绝对是最佳选择!今天朱哥和大家唠唠:如何在虚拟机中安装Ubuntu Server操作系统。
一. 系统安装
1.1 准备
安装之前,我们要从官网下载所需的系统镜像文件,如:
由于本次是安装服务器版的Ubuntu,所以请点击【Ubuntu Server】下的 【18.04 LTS】按钮开始下载(带有 LTS 标识的为长期支持版本)。下载完成后,我们得到的镜像文件如:
ubuntu-18.04.3-live-server-amd64.iso。
接下来,我们还要做以下准备:
- 在自己电脑上安装 VMware Workstation 或 VirtualBox 等虚拟化软件;
- 创建虚拟机、添加磁盘、设置虚拟机网络(可以先设置为桥接模式);
- 将下载好的镜像文件添加到CD驱动器中;
- 启动虚拟机,开始安装。
1.2 安装系统
选择安装语言: 保持默认,按回车键进入下一步
选择键盘布局: 保持默认,按回车键进入下一步
选择网路连接: 默认为DHCP动态获取IP地址。此处可保持默认,后期在系统中可以另行修改网络参数。按回车键进入下一步
设置代理服务器: 这里无需设置,直接按回车键进入下一步
设置镜像源: 可以手动将默认的,使用国内软件源可以加快软件安装的速度。输入完成后,按 Tab 键,选择 Done,然后 按回车键进入下一步
磁盘分区: 可以通过上下方向键选择菜单,这里可以选择第二个选项,即使用整块磁盘并设置LVM,按回车键开始设置
磁盘分区: 保持默认,按回车进入下一步
磁盘分区: 这里默认为 / 目录分配了 4GB 的存储空间,而且没有设置 SWAP 分区。我们可以将这 4GB 空间调整为 SWAP分区,然后将剩余空间全部分配给 / 。
通过上下方向键,选择编辑默认的 / 根目录挂载点,回车选择【Edit】菜单,如:
在 Format 菜单中, 将其调整为 swap 交换分区,然后回车确认
在剩余的磁盘空间中创建分区:通过上下方向键选择可用设备的 ubuntu-vg(new) 选项,然后回车,选择 Create Logical Volume菜单,以创建主分区:
将其空间调到最大值,然后在 Mount 菜单中:回车选择挂载到 / 根目录
按 Tab 键,选择 页面底部的 Done,按回车以保存磁盘分区设置
选择 Continue ,回车确认分区规则,执行磁盘分区
设置用户参数:
这里我们需要选择安装SSH服务,将光标停留在在 Install OpenSSH server 选项上,按下空格键选中他。然后按 Tab 键,选择 Done,进入下一步
根据需要选择其他可选服务: 这里我们暂时都不安装,保持默认,选择 Done ,开始安装系统。
等待系统安装完成,出现如下界面时,选择 Reboot 以重启虚拟机完成安装。
二. 系统配置
2.1 初始配置
2.1.1 设置ROOT用户密码
默认情况下,root 用户没有密码。通过以下命令,可以为其设置密码:
sudo passwd root
然后按提示输入密码、确认密码即可。
2.1.2 更新系统
根据需要,可以通过以下命令更新软件或升级系统:
# 更新软件仓库信息
sudo apt-get update
# 更新软件
sudo apt-get upgrade
# 升级系统
sudo apt-get dist-upgrade
2.1.3 安装常用软件
为方便后续使用,朱哥为大家整理了一些常用软件。可以一次性安装:
sudo apt-get install -y gcc g++ make cmake build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config libexpat1-dev gettext libz-dev
2.2 网络配置
2.2.1 基本参数
新版的UbuntuServer采用netplan配置网络,其配置文件在/etc/netplan目录下,修改配置文件:
sudo vim 50-cloud-init.yaml
具体可参考以下配置:
network:
version: 2
ethernets:
enp0s3:
dhcp4: no
dhcp6: no
addresses: [192.168.0.110/24]
gateway4: 192.168.0.1
nameservers:
addresses: [114.114.114.114, 223.5.5.5, 223.6.6.6]
更新网络配置:
sudo netplan apply
2.2.2 防火墙配置
① 检查防火墙状态:
sudo ufw status verbose
如果输出:Status: inactive 说明防火墙未被激活。
②激活、启用防火墙:
sudo ufw enable
sudo ufw default deny
如需关闭防火墙,可执行:
sudo ufw disable
③ 开启/禁用相应端口或服务举例
# 允许外部访问80端口
sudo ufw allow 80
# 禁止外部访问80 端口
sudo ufw delete allow 80
# 允许此IP访问所有的本机端口
sudo ufw allow from 192.168.0.1
# 禁止外部访问smtp服务
sudo ufw deny smtp
# 删除上面建立的某条规则
sudo ufw delete allow smtp
# 要拒绝所有的TCP流量从10.0.0.0/8 到192.168.0.1地址的22端口
sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22
# 可以允许所有RFC1918网络(局域网/无线局域网的)访问这个主机(/8,/16,/12是思科的网络分级)
sudo ufw allow from 10.0.0.0/8
sudo ufw allow from 172.16.0.0/12
sudo ufw allow from 192.168.0.0/16
2.3 清理过期内核
随着系统的不断更新、升级,一些过时的老旧内核会占用一些磁盘空间,我们可以将其移除。
首先查看当前使用的内核版本:
uname -a
查看系统中存在的内核:
dpkg --get-selections|grep linux
移除过期内核,如:
sudo apt-get remove linux-image-xxxxxx-generic
sudo apt-get remove linux-headers-xxxxxx
sudo apt-get remove linux-headers-xxxxxx-generic
如果清理完还有deinstall状态的记录,如
linux-image-4.8.0-36-generic deinstall
linux-image-extra-4.8.0-36-generic deinstall
可以执行清理
dpkg -P linux-image-4.8.0-36-generic
dpkg -P linux-image-extra-4.8.0-36-generic
2.4 APT-GET 使用
2.4.1 什么的是apt-get
APT(Advanced Packaging Tools)是Debian及其衍生发行版的软件包管理器。APT可以自动下载、配置、安装二进制或者源代码格式的软件包。她简化了 Unix系统上管理软件的过程,apt-get命令一般需要root权限,所以一般跟着sudo命令。她和yum 、pacman、installpkg等性质差不多,都是系统软件的管理工具。
2.4.2 apt-get中文参数
# 用法:apt-get [选项] 命令,如:
sudo apt-get [选项] install|remove pkg1 [pkg2 ...]
sudo apt-get [选项] source pkg1 [pkg2 ...]
# apt-get 是一个下载安装软件包的简单命令行接口。
# 最常用的命令是update(更新)和install(安装)。
########### 命令 ###########
# 更新本地软件包缓存列表
sudo apt-get update
# 更新已安装的包
sudo apt-get upgrade
# 安装新的软件包
sudo apt-get install
# 移除软件包
sudo apt-get remove
# 自动移除全部不使用的软件包
sudo apt-get autoremove
# 移除软件包和配置文件
sudo apt-get purge
# 下载源码
sudo apt-get source
# 为源码包配置编译依赖
sudo apt-get build-dep
# 升级系统
sudo apt-get dist-upgrade
# 依照 dselect 的选择升级
sudo apt-get dselect-upgrade
# 清除下载的安装包
sudo apt-get clean
# 清除旧的的已下载的归档文件
sudo apt-get autoclean
# 检查是否有损坏的依赖
sudo apt-get check
########### 选项 ###########
-h 本帮助文件。
-q 输出到日志 - 无进展指示
-qq 不输出信息,错误除外
-d 仅下载 - 不安装或解压归档文件
-s 不实际安装。模拟执行命令
-y 假定对所有的询问选yes,不提示
-f 尝试修正系统依赖损坏处
-m 如果归档无法定位,尝试继续
-u 同时显示更新软件包的列表
-b 获取源码包后编译
-V 显示详细的版本号
-c=? 阅读此配置文件
-o=? 设置自定的配置选项,如 -o dir::cache=/tmp
2.4.3 apt-get 常用实例
# 搜索包
sudo apt-cache policy #package#
# 搜索包
sudo apt-cache search #package#
# 获取包的相关信息,如说明、大小、版本等
sudo apt-cache show #package#
# 安装包
sudo apt-get install #package#
# 重新安装包
sudo apt-get install --reinstall #package#
# 强制安装, "-f = --fix-missing"当是修复安装吧...
sudo apt-get -f install #package#
# 删除包
sudo apt-get remove #package#
# 删除包,包括删除配置文件等
sudo apt-get remove --purge #package#
# 删除包及其依赖的软件包+配置文件等
sudo apt-get autoremove --purge #package#
# 更新源
sudo apt-get update
# 更新已安装的包
sudo apt-get upgrade
# 升级系统
sudo apt-get dist-upgrade
# 使用 dselect 升级
sudo apt-get dselect-upgrade
# 了解使用依赖
sudo apt-cache depends #package#
# 了解某个具体的依赖,当作查看该包被哪些包依赖吧
sudo apt-cache rdepends #package#
# 安装相关的编译环境
sudo apt-get build-dep #package#
# 下载该包的源代码
sudo apt-get source #package#
# 清理下载文件的存档 && 只清理过时的包
sudo apt-get clean && apt-get autoclean
# 检查是否有损坏的依赖
sudo apt-get check
# 查找filename属于哪个软件包
sudo dpkg -S #filename#
# 查找filename属于哪个软件包
sudo apt-file search #filename#
# 列出软件包的内容
sudo apt-file list #package#
# 更新apt-file的数据库
sudo apt-file update
# 列出软件包解包后的包名称.
sudo dpkg --info #package#
# 列出当前系统中所有的包.可以和参数less一起使用在分屏查看. (类似于rpm -qa)
sudo dpkg -l
# 查看系统中与"软件包名"相关联的包.
sudo dpkg -l |grep -i #package#
# 查询已安装的包的详细信息.
sudo dpkg -s
# 查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)
sudo dpkg -L
# 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装(看一下呗).
sudo sudo dpkg -I
# 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.
sudo dpkg -i #package#
# 卸载软件包.不是完全的卸载,它的配置文件还存在.
sudo dpkg -r #package#
# 全部卸载(但是还是不能解决软件包的依赖性的问题)
sudo dpkg -P #package#
# 重新配置
sudo dpkg -reconfigure
2.4.4 常见问题
更新出现:
The following packages have been kept back:
linux-generic-hwe-18.04 linux-headers-generic-hwe-18.04 linux-image-generic-hwe-18.04
这主要是检测到内核更新,需要执行命令:
sudo apt-get dist-upgrade
三. 总结
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!