Linux服务器之Ubuntu的安装与配置

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-upgrade2.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-genericdeinstall  linux-image-extra-4.8.0-36-genericdeinstall

可以执行清理

 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 输出到日志 - 无进展指示     - 不输出信息,错误除外     -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等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!