Linux服务器之Ubuntu安装与配置

407 阅读9分钟

image.png Ubuntu是基于Debian的、免费的Linux发行版,Ubuntu官方承诺:

Ubuntu将永远免费,包括企业版和安全升级。

Ubuntu将全球数百个公司提供商业支持。

Ubuntu包含由自由软件团体提供的最佳翻译和本地化。

Ubuntu光盘仅仅包含自由软件,鼓励用户使用自由和开源软件,并改善和传播它。

一. 系统安装 1.1 准备 安装之前,我们要从官网下载所需的系统镜像文件,如:

image.png

由于本次是安装服务器版的Ubuntu,所以请点击【Ubuntu Server】下的 【18.04 LTS】按钮开始下载(带有 LTS 标识的为长期支持版本)。下载完成后,我们得到的镜像文件如:ubuntu-18.04.3-live-server-amd64.iso。

接下来,我们还要做以下准备:

在自己电脑上安装 VMware Workstation 或 VirtualBox 等虚拟化软件;

创建虚拟机、添加磁盘、设置虚拟机网络(可以先设置为桥接模式);

将下载好的镜像文件添加到CD驱动器中;

启动虚拟机,开始安装。

1.2 安装系统 选择安装语言: 保持默认,按回车键进入下一步

image.png

选择键盘布局: 保持默认,按回车键进入下一步

image.png

选择网路连接: 默认为DHCP动态获取IP地址。此处可保持默认,后期在系统中可以另行修改网络参数。按回车键进入下一步

image.png

设置代理服务器: 这里无需设置,直接按回车键进入下一步

image.png

设置镜像源: 可以手动将默认的archive.ubuntu.com/ 更换为 mirrors.aliyun.com/,使用国内软件源可以加… Tab 键,选择 Done,然后 按回车键进入下一步

image.png

磁盘分区: 可以通过上下方向键选择菜单,这里可以选择第二个选项,即使用整块磁盘并设置LVM,按回车键开始设置

image.png

磁盘分区: 保持默认,按回车进入下一步

image.png

磁盘分区: 这里默认为 / 目录分配了 4GB 的存储空间,而且没有设置 SWAP 分区。我们可以将这 4GB 空间调整为 SWAP分区,然后将剩余空间全部分配给 / 。

通过上下方向键,选择编辑默认的 / 根目录挂载点,回车选择【Edit】菜单,如:

image.png

在 Format 菜单中, 将其调整为 swap 交换分区,然后回车确认

image.png

在剩余的磁盘空间中创建分区:通过上下方向键选择可用设备的 ubuntu-vg(new) 选项,然后回车,选择 Create Logical Volume菜单,以创建主分区:

image.png

将其空间调到最大值,然后在 Mount 菜单中:回车选择挂载到 / 根目录

image.png

按 Tab 键,选择 页面底部的 Done,按回车以保存磁盘分区设置

image.png

选择 Continue ,回车确认分区规则,执行磁盘分区

image.png

设置用户参数:

image.png

这里我们需要选择安装SSH服务,将光标停留在在 Install OpenSSH server 选项上,按下空格键选中他。然后按 Tab 键,选择 Done,进入下一步

image.png

根据需要选择其他可选服务: 这里我们暂时都不安装,保持默认,选择 Done ,开始安装系统。

image.png

等待系统安装完成,出现如下界面时,选择 Reboot 以重启虚拟机完成安装。

image.png

二. 系统配置 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 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 输出到日志 - 无进展指示
-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

原文链接:blog.csdn.net/Kd_Durant/a…