UbuntuServer-18.04 U 盘安装教程

Ubuntu Server 18.04 系统代号为 bionic,可以通过 'lsb_release -c' 命令查看,这是一个长期支持版本。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:        18.04
Codename:       bionic

目录:

1. 下载
2. 创建 U 盘安装盘
3. 安装 Ubuntu Server
3.1.  在第一个安装界面 "Language" 中选择默认的 English 选项进行安装
3.2.  在安装菜单界面选择 "Install Ubuntu Server"
3.3.  在 "Welcome" 语言选择界面也同样选择 English
3.4.  在 "Keyboard configuration" 配置键盘布局
3.5.  在 "Network connections" 配置网络连接
3.6.  在 "Configure proxy" 配置网络代理
3.7.  在 "Configure Ubuntu archive mirror" 更换为国内镜像源
3.8.  在 "Filesystem setup" 界面选择默认的全盘自动分区方案
3.9.  在 "Profile setup" 设置登陆账号和主机名
3.10. 在 "SSH Setup" 选择安装 SSH
3.11. 确认并等待安装完成
3.12. 查看磁盘分区信息
3.13. 安装后系统默认编码是 en_US.UTF-8
3.14. 更改系统默认时区为国内时区
3.15. 设置固定 IP
3.16. 系统更新

1. 下载

当前(2020-03-16)的最新 LTS 版为:ubuntu-18.04.4-live-server-amd64.iso

2. 创建 U 盘安装盘

官方文档:https://help.ubuntu.com/community/Installation/FromUSBStick

官方指引:

  • Windows 下使用 Rufus
  • MacOS 下使用 UNetbootin for Mac OS X

    打开 UNetBootin 前先自行将 U 盘用主引导记录方式格式化为 FAT32 格式,否则 UNetBootin 检测不到 U 盘

  • Ubuntu 桌面系统使用自带的 Ubuntu Startup Disk Creator
  • 其它 Linux 系统使用 UNetbootin 或者 mkusb

以下为 MacOS 下使用 UNetBootin 的 U 盘制作截图:

  1. 点选 "光盘镜像" 然后选择下载好的 Ubuntu ISO 文件,驱动器选择对应的 U 盘:
    unetbootin-mac-01.png
  2. 点击确定开始制作:
    unetbootin-mac-02.png
  3. 制作完成,点击退出,就可使用此 U 盘启动 Ubuntu Server 的安装:
    unetbootin-mac-03.png

3. 安装 Ubuntu Server

以下安装步骤既适用于 U 盘启动盘的安装,也适合于使用光盘启动的安装。

3.1. 在第一个安装界面 "Language" 中选择默认的 English 选项进行安装

10-select-lang.png

由于安装的是 Server 版,是没有 GUI 的,一般都是通过远程 ssh 连接进服务器维护,故推荐直接安装 English,不推荐使用其它语言。

3.2. 在安装菜单界面选择 "Install Ubuntu Server"

11-install-ununtu-server.png

3.3. 在 "Welcome" 语言选择界面也同样选择 English

13-select-lang.png

3.4. 在 "Keyboard configuration" 配置键盘布局

使用默认配置即可:

14-keyboard-layout.png

3.5. 在 "Network connections" 配置网络连接

默认自动 IP 配置,也可以手动指定为固定 IP。推荐安装完毕后再重新设置固定 IP,因此这里使用默认配置:

15-network-connections.png

3.6. 在 "Configure proxy" 配置网络代理

这里使用默认的无代理配置:

16-configure-proxy.png

3.7. 在 "Configure Ubuntu archive mirror" 更换为国内镜像源

在 "Configure Ubuntu archive mirror" 安装界面记得更换为国内镜像源地址,否则默认自动连接到 Ubuntu 的官方源 https://cn.archive.ubuntu.com/ubuntu,在后续的 "Installing system" 安装界面因为会联网下载很多包,速度将非常慢。

国内镜像源推荐使用阿里的:http://mirrors.aliyun.com/ubuntu

17-configure-ubuntu-archive-mirror_aliyun.png

系统安装后可以看到 /etc/apt/sources.list 文件已更改为使用阿里源,Ubuntu 原始的源配置会自动备份在文件 /etc/apt/sources.list.curtin.old

3.8. 在 "Filesystem setup" 界面选择默认的全盘自动分区方案

这里可以对硬盘进行分区,可自动分区也可自行手动分区。这里选择全盘自动分区方案,即在 "Filesystem setup" 界面选择第一个选项 "Use An Entire Disk",确认后会自动分区及格式化整个磁盘为 ext4 格式:

18-filesystem-setup-1.png
18-filesystem-setup-2-select-disk.png
18-filesystem-setup-3-view-partition.png
18-filesystem-setup-4-confirm.png

3.9. 在 "Profile setup" 设置登陆账号和主机名

相关信息按需设置,如:

  • Your name 设置为 gftaxi
  • server'name 设置为 ubuntu-test-server
  • username 设置为 gftaxi
  • password 设置为 gftaxi20200101
19-profile-setup.png

3.10. 在 "SSH Setup" 选择安装 SSH

在 "SSH Setup" 界面选择 "Install OpenSSH server",默认是没有勾选的:

20-ssh-setup.png

安装 "Install OpenSSH server" 后才可以在安装完毕后通过 ssh 客户端远程连接。

3.11. 确认并等待安装完成

"SSH Setup" 界面确认后,就耐心等待过程完成:

21-installing-system-1.png
22-Installation-complete.png

安装完毕后需手动点击上面的 "Reboot" 重启,重启后就可以看到成功的登陆界面了:

24-login.png

首次登陆后的终端界面如下:

25-login-success.png

3.12. 查看磁盘分区信息

此次是使用 32GB 的虚拟磁盘执行的虚拟机安装。分别使用 parted、fdisk、lsblk 查询分区信息如下:

$ sudo parted -l
Model: ATA Ubuntu18.04-0 SS (scsi)
Disk /dev/sda: 34.4GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 
Number  Start   End     Size    File system  Name  Flags
 1      1049kB  2097kB  1049kB                     bios_grub
 2      2097kB  34.4GB  34.4GB  ext4


$ sudo fdisk -l
Disk /dev/loop0: 89.1 MiB, 93417472 bytes, 182456 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sda: 32 GiB, 34359738368 bytes, 67108864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 55DD2D05-4575-4B21-90DE-FC9CAA535098

Device     Start      End  Sectors Size Type
/dev/sda1   2048     4095     2048   1M BIOS boot
/dev/sda2   4096 67106815 67102720  32G Linux filesystem


$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 89.1M  1 loop /snap/core/8268
sda      8:0    0   32G  0 disk 
├─sda1   8:1    0    1M  0 part 
└─sda2   8:2    0   32G  0 part /
sr0     11:0    1 1024M  0 rom  

由此可见 Ubuntu 默认全盘分区结果是:

  • GPT 分区
  • 没有独立的 swap 分区(经检测是在根分区下创建一个大小为内存两倍的 swap.img 的文件,可以通过 swapon -s 命令查看交换分区的使用情况)
    $ swapon -s
    Filename   Type  Size     Used  Priority
    /swap.img  file  2006012  0     -2
    

作为参考,执行 'df -h' 结果为:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            460M     0  460M   0% /dev
tmpfs            98M  1.1M   97M   2% /run
/dev/sda2        32G  4.3G   26G  15% /
tmpfs           490M     0  490M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           490M     0  490M   0% /sys/fs/cgroup
/dev/loop0       90M   90M     0 100% /snap/core/8268
tmpfs            98M     0   98M   0% /run/user/1000

3.13. 安装后系统默认编码是 en_US.UTF-8

# 查看系统当前编码
$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

$ cat /etc/default/locale 
LANG=en_US.UTF-8

对于服务器而言,UTF-8 编码足尔,默认值已满足常规使用需求,无需修改。如果需要修改,直接编辑文件 /etc/default/locale 然后重启即可。

3.14. 更改系统默认时区为国内时区

安装后默认是 UTC 时区,要更改为国内时区:

# 查看当前时区信息
$ date
Sat Mar 21 05:02:37 UTC 2020
$ date -R
Sat, 21 Mar 2020 05:02:42 +0000
$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Feb  3 18:23 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
$ ls -l /usr/share/zoneinfo/Asia/Shanghai
lrwxrwxrwx 1 root root 6 Sep 20  2019 /usr/share/zoneinfo/Asia/Shanghai -> ../PRC

# 修改为国内时区
$ sudo rm /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 查看修改后的时区结果
$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 33 Mar 21 13:05 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
$ date
Sat Mar 21 13:06:16 CST 2020
$ date -R
Sat, 21 Mar 2020 13:06:20 +0800

系统支持的时区信息在 /usr/share/zoneinfo/ 目录下,修改 /etc/localtime 软链接到相应的时区即可,上述命令就是查看和将系统 /etc/localtime 默认软链接到的 /usr/share/zoneinfo/Etc/UTC 更改为 /usr/share/zoneinfo/Asia/Shanghai,这样修改的是系统的全局默认时区。

如果特定用户想使用不同的时区,只要在此特定用户下创建一个环境变量 TZ,将其值设定为相应的时区值即可,如:export TZ='Asia/Shanghai'。不同时区的 TZ 值可以通过执行 tzselect 命令一步一步的指引你得到:

$ tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
 1) Africa
 2) Americas
 3) Antarctica
 4) Asia
 5) Atlantic Ocean
 6) Australia
 7) Europe
 8) Indian Ocean
 9) Pacific Ocean
10) coord - I want to use geographical coordinates.
11) TZ - I want to specify the time zone using the Posix TZ format.
#? 4
Please select a country whose clocks agree with yours.
 1) Afghanistan       18) Israel            35) Palestine
 2) Armenia       19) Japan         36) Philippines
 3) Azerbaijan        20) Jordan            37) Qatar
 4) Bahrain       21) Kazakhstan        38) Russia
 5) Bangladesh        22) Korea (North)     39) Saudi Arabia
 6) Bhutan        23) Korea (South)     40) Singapore
 7) Brunei        24) Kuwait            41) Sri Lanka
 8) Cambodia          25) Kyrgyzstan        42) Syria
 9) China         26) Laos          43) Taiwan
10) Cyprus        27) Lebanon           44) Tajikistan
11) East Timor        28) Macau         45) Thailand
12) Georgia       29) Malaysia          46) Turkmenistan
13) Hong Kong         30) Mongolia          47) United Arab Emirates
14) India         31) Myanmar (Burma)       48) Uzbekistan
15) Indonesia         32) Nepal         49) Vietnam
16) Iran          33) Oman          50) Yemen
17) Iraq          34) Pakistan
#? 9
Please select one of the following time zone regions.
1) Beijing Time
2) Xinjiang Time
#? 1

The following information has been given:

    China
    Beijing Time

Therefore TZ='Asia/Shanghai' will be used.
Selected time is now:   Mon Mar 16 19:48:25 CST 2020.
Universal Time is now:  Mon Mar 16 11:48:25 UTC 2020.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
    TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai

3.15. 设置固定 IP

Ubuntu 从 17.10 开始引入了新的工具 netplan 来设置网络,不再推荐使用以前的 /etc/network/interfaces 配置文件。netplan 的默认描述文件在 /etc/netplan/*.yaml 里。对于 Ubuntu 18.04 Server 这个文件的名称是 /etc/netplan/50-cloud-init.yaml

查看当前的网络配置:

$ ls -l /etc/network
total 12
drwxr-xr-x 2 root root 4096 Mar 16 16:34 if-pre-up.d
drwxr-xr-x 2 root root 4096 Mar 16 16:35 if-up.d
-rw-r--r-- 1 root root  190 Feb  4 02:22 interfaces

$ cat /etc/network/interfaces 
# ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
#    sudo apt install ifupdown

$ ls -l /etc/netplan
total 4
-rw-r--r-- 1 root root 391 Mar 16 16:40 50-cloud-init.yaml

$ cat /etc/netplan/50-cloud-init.yaml 
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        enp0s5:
            dhcp4: true
    version: 2

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1c:42:0b:cc:0c brd ff:ff:ff:ff:ff:ff
    inet 10.211.55.9/24 brd 10.211.55.255 scope global dynamic enp0s5
       valid_lft 1247sec preferred_lft 1247sec
    inet6 fdb2:2c26:f4e4:0:21c:42ff:fe0b:cc0c/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 2591718sec preferred_lft 604518sec
    inet6 fe80::21c:42ff:fe0b:cc0c/64 scope link 
       valid_lft forever preferred_lft forever

从上述文件 /etc/netplan/50-cloud-init.yaml 的内容可以看到,仅设置了 network.ethernets.enp0s5.dhcp4=true,即自动 IP 配置。如下修改 enp0s5 节点的值来设置固定 IP:

$ sudo vi /etc/netplan/50-cloud-init.yaml
network:
    version: 2
    ethernets:
        enp0s5:
            dhcp4: false
            dhcp6: false
            # 可同时设多个,对于 IP4 每个值为 "IP地址/掩码长度"
            addresses: [192.168.0.60/24, 'fe80:0:0:0:0:0:c0a8:64d3']
            # 网关
            gateway4: 192.168.0.1
            # 设置 DNS
            nameservers:
                addresses: [192.168.0.1]

# 完成修改后执行下面的命令使配置生效
$ sudo netplan apply

注意 yaml 文件的缩进务必使用空格而不是 tab 键。

支持的配置属性:

属性名 值类型 说明
enp0s5 string 指定需配置网络接口的名称
dhcp4 boolean 是否打开 IPv4 的 dhcp,值为 true 或 false
dhcp6 boolean 是否打开 IPv6 的 dhcp,值为 true 或 false
addresses array 设置静态 IP 地址,如 192.168.0.100
gateway4 string 设置默认网关的 IPv4 地址,如 192.168.0.1
nameservers {addresses, ...} 指定域名服务器的 IP 地址

netplan 官方配置例子可以参考 《Netplan configuration examples》。

3.16. 系统更新

更新软件列表:

$ sudo apt-get update

这个命令会访问源列表(/etc/apt/sources/list)里的每个网址,并读取软件列表,然后保存在本地电脑。软件包管理器里看到的软件列表,都是通过 update 命令更新的。

更新软件包:

$ sudo apt-get upgrade

这个命令会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就提示更新。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,843评论 0 5
  • 安装教程 前期准备 安装介质 在安装之前我们先要准备一个安装介质,在这里只推荐U盘作为安装介质。 到https:/...
    Otis4631阅读 5,453评论 0 5
  • 系统安装过程 MBR:isolinux/boot.cat stage2: isolinux/isolinux.bi...
    毛利卷卷发阅读 727评论 0 1
  • 1.描述计算机的组成及其功能 (一)计算机的组成 1.CPU 2.CPU风扇 3.BIOS 4.内存 5.硬盘 6...
    whamai阅读 1,439评论 0 1
  • 前言 《Ubuntu 14.04.5 Server物理机安装》一文中,我们安装了一台Ubuntu Server服务...
    VoidKing阅读 9,285评论 1 3