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驱动器中; 启动虚拟机,开始安装。
选择安装语言: 保持默认,按回车键进入下一步
选择键盘布局: 保持默认,按回车键进入下一步
选择网路连接: 默认为DHCP动态获取IP地址。此处可保持默认,后期在系统中可以另行修改网络参数。按回车键进入下一步
设置代理服务器: 这里无需设置,直接按回车键进入下一步
设置镜像源: 可以手动将默认的
http://archive.ubuntu.com/ 更换为 http://mirrors.aliyun.com/,使用国内软件源可以加快软件安装的速度。输入完成后,按 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也在服务器端市场占据了较大的份额