1. 操作系统 (Operating System)
计算机(Computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。
计算机按分类来说,包括以下几种:
(1) 超级计算机;
(2) 网络计算机:服务器、工作站、集线器、交换机等;
(3) 工业控制机:工业电脑(IPC)、可编程序控制器(PLC)、分散型控制系统(DCS)、现场总线系统(FCS)、数控系统(CNC)等;
(4) 个人电脑:台式机(Desktop)、电脑一体机、笔记本电脑(Notebook或Laptop)、掌上电脑(PDA)、平板电脑等;
(5) 手机、嵌入式系统等;
计算机由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。
(1) 硬件是计算机赖以工作的实体,包括显示器、键盘、鼠标、硬盘、CPU、主板等;
(2) 软件会按照用户的要求协调整台计算机的工作,按照用户的要求接收信息、存储数据、处理数据,然后再将处理结果输出(文字、图片、音频、视频等);
软件系统总体分为系统软件和应用软件两大类:
(1) 系统软件是各类操作系统,如 Windows、Linux、Unix 等,还包括操作系统的补丁程序及硬件驱动程序,都是系统软件类。
(2) 应用软件可以细分的种类很多,如工具软件、游戏软件、管理软件等都属于应用软件类。
操作系统(Operating System,简称 OS)是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁(或者说接口、中间人、中介等)。
操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序,例如:
(1) 文件系统: 提供计算机存储信息的结构,信息存储在文件中,文件主要存储在计算机的内部硬盘里,在目录的分层结构中组织文件。文件系统为操作系统提供了组织管理数据的方式。
(2) 设备驱动程序: 提供连接计算机的每个硬件设备的接口,设备驱动器使程序能够写入设备,而不需要了解执行每个硬件的细节。简单来说,就是让你能吃到鸡蛋,但不用养一只鸡。
(3) 用户接口: 操作系统需要为用户提供一种运行程序和访问文件系统的方法。如常用的 Windows 图形界面,可以理解为一种用户与操作系统交互的方式;智能手机的 Android 或 iOS 系统,也是一种操作系统的交互方式。
(4) 系统服务程序: 当计算机启动时,会自启动许多系统服务程序,执行安装文件系统、启动网络服务、运行预定任务等操作。
目前流行的服务器和 PC 端操作系统有 Linux、Windows、Unix 等,手机操作系统有 Android、iOS、Windows Phone(简称 WP),嵌入式操作系统有 Windows CE、PalmOS、eCos、uClinux 等。
2. Linux 简介
Linux 是一种操作系统,logo 是一只企鹅,其内核最初由芬兰人 李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux 在设计之初,就是基于 Intel X86 系列 CPU 架构计算机的,它是一个基于 POSIX 的多用户、多任务并且支持多线程和多 CPU 的操作系统,它是由世界各地成千上万的程序员设计和开发实现的,当初开发 Linux 系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类 Unix 操作系统兼容产品。
在过去的 20 年里,Linux 系统主要被应用于服务器端、嵌入式开发和 PC 桌面 3 大领域,其中服务器端领域是重中之重。例如,我们熟知的大型、超大型互联网企业(百度、腾讯、Sina、阿里等)都在使用 Linux 系统作为其服务器端的程序运行平台,全球及国内排名前 1000 的 90% 以上的网站使用的主流系统都是 Linux 系统。
1) Linux 的特点
(1) 大量的可用软件及免费软件:Linux 各发行版已经形成了巨大生态系统,与其他操作系统相比,Linux 更容易安装,且不会受到商业化版本的制约;
(2) 优良的稳定性和安全:,Linux 与 Unix 系统兼容,采用了一些与 Unix 操作系统相同的技术,具备 Unix 几乎所有的优秀特性;
(3) 良好的可移植性及灵活性:Linux 让开展各种实际有用且具有创造性的事情成为可能;
(4) 支持几乎所有的网络协议及开发语言;
2) 常见的 Linux 发行版本
从技术上来说,李纳斯·托瓦兹开发的 Linux 只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。
在 Linux 内核的发展过程中,各种 Linux 发行版本起了巨大的作用,正是它们推动了 Linux 的应用,从而让更多的人开始关注 Linux。因此,把 Red Hat、Ubuntu、SUSE 等直接说成 Linux 其实是不确切的,它们是 Linux 的发行版本,更确切地说,应该叫作 “以 Linux 为核心的操作系统软件包”。
Linux 的各个发行版本使用的是同一个 Linux 内核,因此在内核层不存在什么兼容性问题,每个版本有不一样的感觉,只是在发行版本的最外层(由发行商整合开发的应用)才有所体现。
Linux 的发行版本可以大体分为两类:
(1) 商业公司维护的发行版本,以著名的 Red Hat 为代表;
(2) 社区组织维护的发行版本,以 Debian 为代表。
Linux 发行版及特点汇总列表:
版本名称(网址) | 描述 |
Ubuntu(www.ubuntu.com) | 优秀的桌面环境,基于 Debian 构建。软件包管理器:apt |
Fedora Core(www.redhat.com) | 拥有数量庞人的用户,优秀的社区技术支持. 并且有许多创新 up2date(rpm)。软件包管理器:yum(rpm) |
Debian Linux(www.debian.org) | 开放的开发模式,且易于进行软件包升级。软件包管理器:apt |
CentOS(www.centos.org) | CentOS 是一种对 RHEL(Red Hat Enterprise Linux)源代码再编译的产物,由于 Linux 是开发源代码的操作系统,并不排斥样基于源代码的再分发,CentOS 就是将商业的 Linux 操作系统 RHEL 进行源代码再编译后分发,并在 RHEL 的基础上修正了不少已知的漏洞。软件包管理器:yum(rpm) |
SuSE Linux(www.suse.com) | 专业的操作系统,易用的 YaST 软件包管理系统。软件包管理器:YaST(rpm),第三方 apt (rpm)软件库(repository) |
Gentoo Linux(www.gentoo.org) | 高度的可定制性,使用手册完整。软件包管理器:portage |
Mandriva(www.mandriva.com) | 操作界面友好,使用图形配置工具,有庞大的社区进行技术支持,支持 NTFS 分区的大小变更。软件包管理器:rpm |
KNOPPIX(www.knoppix.com) | 可以直接在 CD 上运行,具有优秀的硬件检测和适配能力,可作为系统的急救盘使用。软件包管理器:apt |
Linux 发行版本的选择:
(1) 如果需要一个服务器系统,而且已经厌烦了各种 Linux 的配置,只是想要一个比较稳定的服务器系统,那么建议选择 CentOS 或 RHEL;
(2) 如果你只是需要一个桌面系统,而且既不想使用盗版,又不想花大价钱购买商业软件,不想自己定制,也不想在系统上浪费太多时间,则可以选择 Ubuntu;
(3) 如果你深入摸索一下 Linux 各个方面的知识,而且还想非常灵活地定制自己的 Linux 系统,那就选择 Gentoo;
(4) 如果对系统稳定性要求很高,则可以考虑 FreeBSD(www.freebsd.org),FreeBSD 是一种 Unix 操作系统,是由经过 BSD、386BSD 和 4.4BSD 发展而来的 Unix 的一个重要分支;
(5) 如果需要使用数据库高级服务和电子邮件网络应用,则可以选择 SuSE;
3) 几款比较流行的桌面环境
(1) KDE 桌面环境
KDE 是 K Desktop Environment 的缩写,中文译为 “K桌面环境”。
KDE 是基于大名鼎鼎的 Qt 的,最初于 1996 年作为开源项目公布,并在 1998 年发布了第一个版本。许多流行的 Linux 发行版都提供了 KDE 桌面环境,比如 Ubuntu、Linux Mint、OpenSUSE、Fedora、Kubuntu、PC Linux OS 等。
对 KDE 优缺点的总结:
优点:KDE 几乎是最先进最强大的桌面环境,它外观优美、高度可定制、兼容比较旧的硬件设备
缺点:Kmail 等一些组件的配置对新手来说过于复杂。
(2) GNOME 桌面环境
GNOME 是 the GNU Network Object Model Environment 的缩写,中文译为 “GNU网络对象模型环境”。
GNOME 的特点是简洁、运行速度快,但是没有太多的定制选项,用户需要安装第三方工具来实现。许多 Linux 发行版默认的桌面环境,比如 Fedora、Ubuntu、Debian、OpenSUSE 等。
对 GNOME 优缺点的总结:
优点:简单易用,可通过插件来扩展功能。
缺点:对插件的管理能力比较差,也缺少其它桌面环境拥有的许多功能。
(3) Unity
Unity 是由 Ubuntu 的母公司 Canonical 开发的一款外壳。之所以说它是外壳,是因为 Unity 运行在 GNOME 桌面环境之上,使用了所有 GNOME 的核心应用程序。
Unity 很简单、运行速度快,但 Unity 在系统设置下却没有定制桌面的太多选项,要想安装主题或者定制另外不同的选项,比如系统菜单是否应该总是可见,或者 “从启动器图标一次点击最小化”,用户需要安装第三方工具。
CCSM 和 Unity Tweak Tool 是面向 Unity 桌面环境的非常流行的定制工具。
对 Unity 优缺点的总结:
优点:界面简洁直观,可以通过第三方工具来深度定制,而且使用了平视显示器(HUD)等新技术。
缺点:默认的定制功能比较差劲,通知机制一般。
(4) MATE
MATE 是一种从现在无人维护的 GNOME 2 代码库派生出来的桌面环境。
MATE 还非常适用于低配计算机,所以如果你有一台旧的或速度较慢的计算机,可以使用 MATE。MATE 还是许多流行的 Linux 发行版随带的,比如 Ubuntu、Linux Mint、Mageia、Debian 及另外更多发行版。
MATE 自带的应用程序包括 Caja(文件管理工具)、Pluma(文本编辑工具)、Atril(文档查看工具)、Eye of MATE(图像查看工具)等,如果用户不需要其他功能完备的桌面环境的所有额外功能,那么 MATE 对他们来说是一款简单的轻量级桌面环境。
对 META 优缺点的总结:
优点:轻量级的桌面环境,能够兼容教旧的硬件设备。
缺点:我也不知道有什么明显的缺点,欢迎读者留言告知。
(5) Cinnamon
Cinnamon 是高度可定制的桌面环境,不需要任何外部插件、窗口组件和调整工具来定制桌面。
许多流行的 Linux 发行版提供了各自版本的 Cinnamon,比如 Ubuntu、Fedora、OpenSUSE、Gentoo、Arch Linux 等。Cinnamon 还是 Linux Mint 的默认桌面环境。
对 Cinnamon 优缺点的总结:
优点:成熟完美,高度可性质,适合 Linux 新手。
缺点:有时候可能会有软件错误。
(6) 查看桌面环境
可以通过环境变量 DESKTOP_SESSION 来查看当前 Linux 发行版使用了哪种桌面环境,命令如下:
$ echo $DESKTOP_SESSION
ubuntu
也可以查看 /etc 下对应的目录,例如 gnome 或者 kde 目录等。
3. Linux 安装配置
Ubuntu 优秀的桌面环境,基于 Debian 构建。
CentOS 是一种对 RHEL(Red Hat Enterprise Linux)源代码再编译的产物,由于 Linux 是开发源代码的操作系统,并不排斥样基于源代码的再分发,CentOS 就是将商业的 Linux 操作系统 RHEL 进行源代码再编译后分发,并在 RHEL 的基础上修正了不少已知的漏洞。
Ubuntu 的优势在于桌面环境,CentOS 作为 RHEL 的分支,优势在于企业级的服务器环境,用好这两个系统,就覆盖了我们大部分的需求。在大多数的开发环境下,是一台 PC 安装多个系统,由此,我们自然而然的就想到了虚拟机。
常用的虚拟机软件:
虚拟机软件 | 描述 |
VM(VMware Workstation) | 工作站版虚拟化软件,简单、易用,适合用于搭建学习环境。 |
KVM/Xen Linux 的虚拟化 | 服务器级虚拟化软件,适合企业虚拟化应用,不适合用于搭建学习环境。 |
Virtual PC | MAC 平台可以用 |
VirtualBox | 开源的虚拟机软件 |
本文使用 VirtualBox 安装配置 CentOS 和 Ubuntu,配置环境如下:
Windows:10 Home 21H2
VirtualBox:6.1.30 r148432 (Qt5.6.2)
VirtualBox: https://www.virtualbox.org/
1) 安装 CentOS 7
CentOS: 7.9.2009
CentOS: https://www.centos.org
CentOS Mirror:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
以下是各个版本的 CentOS ISO 镜像文件的说明:
CentOS-7-x86_64-DVD-2009.iso: 标准安装版,一般下载这个就可以了(推荐)
CentOS-7-x86_64-NetInstall-2009.iso: 网络安装镜像(从网络安装或者救援系统)
CentOS-7-x86_64-Everything-2009.iso: 对完整版安装盘的软件进行补充,集成所有软件。(包含centos7的一套完整的软件包,可以用来安装系统或者填充本地镜像)
CentOS-7-x86_64-Minimal-2009.iso: 精简版,自带的软件最少
注:*.torrent 是 p2p 下载的种子文件,下载速度慢的时候可以考虑使用 p2p 下载。本文下载 CentOS-7-x86_64-DVD-2009.iso。
(1) 创建虚拟机
名称:CentOS-7.9
文件夹:D:\Virtual
类型(T):Linux
版本(V):Red Hat (64-bit)
内存大小:1 ~ 4G (不低于1G)
虚拟硬盘:现在创建虚拟硬盘 -> VDI(Virtual Box 磁盘映像)-> 动态分配大小 -> 10 ~ 15 GB
(2) 安装
在虚拟机 CentOS-7.9 上 -> 存储 -> 控制器 IDE (光盘) -> 选择一个虚拟光盘文件(选择下载的 CentOS-7-x86_64-DVD-2009.iso)。
启动虚拟机 CentOS-7.9 -> 选择 Install CentOS 7 -> English,continue -> 选择安装的虚拟硬盘 -> 安装过程中,设置 Root 用户的密码,也可以创建一个新用户 -> 安装完成,关闭虚拟机。
在虚拟机 CentOS-7.9 上 -> 网络 -> 网卡 1 -> 修改连接方式到 “桥接网卡” -> 启动虚拟机。
设置动态获取 IP:
CentOS 7 不再使用 ifconfig 命令,可运行命令 ip addr 查看。
修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 (“enp0s3” 是网卡名称,ip addr 可以查看)
bootproto=dhcp
onboot=yes
修改后要重启网络服务,运行如下命令:
$ systemctl restart network
配置静态 IP:
修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 (“enp0s3” 是网卡名称)
1 bootproto=static
2 onboot=yes
3
4 IPADDR=192.168.0.10
5 NETMASK=255.255.255.0
6 GATEWAY=192.168.0.1
7 DNS1=119.29.29.29
8 DNS2=8.8.8.8
注:DNS 服务器可以只配一个。
修改后要重启网络服务,运行如下命令:
$ systemctl restart network
可以运行如下命令修改主机名:
$ hostnamectl set-hostname MyHost
SSH 登录虚拟机:
Windows 10 下可以直接运行 SSH client 命令:
C:>ssh root@192.168.0.10
也可以安装第三方 SSH 客户端程序,比如 Putty、SecureCRT、MobaXterm 等。
查看系统版本:
$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
(3) 修改 yum 源为国内镜像源
先备份 /etc/yum.repos.d/CentOS-Base.repo 文件,运行如下命令:
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
修改 /etc/yum.repos.d/CentOS-Base.repo,运行如下命令:
$ vi /etc/yum.repos.d/CentOS-Base.repo
1 # CentOS-Base.repo
2 #
3 # The mirror system uses the connecting IP address of the client and the
4 # update status of each mirror to pick mirrors that are updated to and
5 # geographically close to the client. You should use this for CentOS updates
6 # unless you are manually picking other mirrors.
7 #
8 # If the mirrorlist= does not work for you, as a fall back you can try the
9 # remarked out baseurl= line instead.
10 #
11 #
12
13 [base]
14 name=CentOS-$releasever - Base - mirrors.aliyun.com
15 failovermethod=priority
16 baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
17 http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
18 http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
19 gpgcheck=1
20 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
21
22 #released updates
23 [updates]
24 name=CentOS-$releasever - Updates - mirrors.aliyun.com
25 failovermethod=priority
26 baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
27 http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
28 http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
29 gpgcheck=1
30 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
31
32 #additional packages that may be useful
33 [extras]
34 name=CentOS-$releasever - Extras - mirrors.aliyun.com
35 failovermethod=priority
36 baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
37 http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
38 http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
39 gpgcheck=1
40 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
41
42 #additional packages that extend functionality of existing packages
43 [centosplus]
44 name=CentOS-$releasever - Plus - mirrors.aliyun.com
45 failovermethod=priority
46 baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
47 http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
48 http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
49 gpgcheck=1
50 enabled=0
51 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
52
53 #contrib - packages by Centos Users
54 [contrib]
55 name=CentOS-$releasever - Contrib - mirrors.aliyun.com
56 failovermethod=priority
57 baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
58 http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
59 http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
60 gpgcheck=1
61 enabled=0
62 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
(4) 启动 CentOS 7 图形界面
查看 centos7 的默认启动界面方式,运行如下命令:
$ systemctl get-default
返回结果:
graphical.target 表示开机启动图形化界面
multi-user.target 表示开机启动命令行界面
启动界面,运行如下命令:
$ startX
返回结果,如果提示命令不存在,就需要安装图形界面。
先安装 X Windows System,root 用户运行如下命令:
$ yum groupinstall "X Window System"
根据提示,都选择 y,直到安装完成。
再安装图形界面软件,root 用户运行如下命令:
$ yum groupinstall "GNOME Desktop"
根据提示,都选择 y,出现 complete 则表示安装完成。
运行 startX 命令启动界面。可以运行 systemctl set-default graphical.target 命令,设置开机默认启动界面为图形化界面。
(5) CentOS 7 忘记密码
如果忘记密码,可以进入 Emergency Mode 更改 root 密码,步骤如下。
a) 进入 Emergency Mode
系统启动时,3 秒内按上下方向键,让系统停留在选择界面,如下:
CentOS Linux (3.10.0-1160.e17.x86_64) 7 (Core)
CentOS Linux (0-rescue-2e1de45d6c6b2e4789cb15dbad26f07) 7 (Core)
Use the up and down keys to chagne the selection.
Press 'e' to edit the selected item, or 'c' for a command prompt.
将光标停留在第一行,按字母 “e”,进入 Emergency Mode 的编辑页面。找到以 “linux16 ” 开头的行,在该行的最后面输入 “init=/bin/sh”,修改后的该行内容如下:
linux16 /vmlinuz-3.10.0-1160.e17.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.vl=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 init=/bin/
按 “ctrl+X” 组合键进入单用户模式。
b) 单用户模式
输入 “mount -o remount,rw /” (注意 mount 与 -o 之间、rw 与 / 之间的空格) 命令,按回车键。
再输入 “passwd” 命令,按回车键。系统提示输入 root 账号的新密码,重复输入一个不少于 8 位的密码。
再输入 “touch /.autorelabel” 命令,按回车键。
再输入 “exec /sbin/init” 命令,按回车键,系统会自动重启。
(6) 给普通用户添加 sudo 权限
在 root 权限下,修改 /etc/sudoers 文件,添加一条指定用户的 ALL 记录
$ vim /etc/sudoers
root ALL=(ALL) ALL
username ALL=(ALL) ALL # 新增的记录,username 是要添加 sudo 权限的用户名
(7) 防火墙设置(Firewall)
查看防火墙状态:
$ firewall-cmd --state
查看放开的端口:
$ firewall-cmd --list-ports
放开端口:
$ firewall-cmd --zone=public --add-port=8080/tcp --permanent
$ firewall-cmd --reload # 刷新防火墙
关闭端口:
$ firewall-cmd --zone=public --remove-port=8080/tcp --permanent
$ firewall-cmd --reload # 刷新防火墙
关闭防火墙,命令如下。
$ systemctl stop firewalld && systemctl disable firewalld
启动防火墙
$ systemctl start firewalld
$ systemctl enable firewalld # 开机启动
2) 安装 Ubuntu 18
Ubuntu:18.04.4
Ubuntu:www.ubuntu.com
Ubuntu:Mirror:https://mirrors.aliyun.com/oldubuntu-releases/releases/18.04.4/
以下是各个版本的 Ubuntu ISO 镜像文件的说明:
ubuntu-18.04.4-desktop-amd64.iso: 桌面安装版,开发环境下载这个就可以了(推荐)
ubuntu-18.04.4-server-amd64.iso : 服务器安装版,不支持桌面
ubuntu-18.04.4-live-server-amd64.iso: 精简服务器安装版,不支持桌面,不支持 32 位环境,适用于生产环境
注:*.torrent 是 p2p 下载的种子文件,下载速度慢的时候可以考虑使用 p2p 下载。本文下载 ubuntu-18.04.4-desktop-amd64.iso。
(1) 创建虚拟机
名称:Ubuntu-18.04
文件夹:D:\Virtual
类型(T):Linux
版本(V):Ubuntu (64-bit)
内存大小:1 ~ 4G (不低于1G)
虚拟硬盘:现在创建虚拟硬盘 -> VDI(Virtual Box 磁盘映像)-> 动态分配大小 -> 10 ~ 15 GB
(2) 安装
在虚拟机 Ubuntu-18.04 上 -> 存储 -> 控制器 IDE (光盘) -> 选择一个虚拟光盘文件(选择下载的 ubuntu-18.04.4-desktop-amd64.iso)。
启动虚拟机 Ubuntu-18.04 选择 Install Ubuntu -> ... 根据提示操作 ... -> 安装完成,关闭虚拟机。
在虚拟机 Ubuntu-18.04 上 -> 网络 -> 网卡 1 -> 修改连接方式到 “桥接网卡” -> 启动虚拟机 -> 登陆桌面系统。
设置动态获取 IP:
点击桌面右上角图标区域 -> 选择菜单中的 “Wired ...” -> "Wired setting",进入配置对话框 -> 点击配置按钮,进入 IPv4 配置对话框
IPv4 method: Automatic (DHCP)
-> Apply
配置静态 IP:
点击桌面右上角图标区域 -> 选择菜单中的 “Wired ...” -> "Wired setting",进入配置对话框 -> 点击配置按钮,进入 IPv4 配置对话框
IPv4 method: Manual
Address: 192.168.0.11
Netmask: 255.255.255.0
Gateway: 192.168.0.1
DNS: 119.29.29.29,8.8.8.8
-> Apply
注:DNS 服务器可以只配一个。
SSH 登录虚拟机:
Windows 10 下可以直接运行 SSH client 命令:
C:>ssh root@192.168.0.11
查看系统版本:
$ cat /etc/issue
Ubuntu 18.04.6 LTS \n \l
(3) 修改 apt 源为国内镜像源
查看系统 Codename,运行如下命令:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
确认阿里源支持:
访问 http://mirrors.aliyun.com/ubuntu/dists/ 查看 bionic 相关的版本。
备份和修改系统源:
$ cd /etc/apt
$ sudo cp sources.list sources.list_bak
$ sudo vi sources.list
示例,修改后的 sources.list:
1 # deb cdrom:[Ubuntu 18.04.4 LTS _Bionic Beaver_ - Release amd64 (20200203.1)]/ bionic main restricted
2
3 # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
4 # newer versions of the distribution.
5 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted
6 # deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic main restricted
7
8 ## Major bug fix updates produced after the final release of the
9 ## distribution.
10 debhttp://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted
11 # deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
12
13 ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
14 ## team. Also, please note that software in universe WILL NOT receive any
15 ## review or updates from the Ubuntu security team.
16 deb http://mirrors.aliyun.com/ubuntu/ bionic universe
17 # deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic universe
18 deb http://mirrors.aliyun.com/ubuntu/ bionic-updates universe
19 # deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-updates universe
20
21 ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
22 ## team, and may not be under a free licence. Please satisfy yourself as to
23 ## your rights to use the software. Also, please note that software in
24 ## multiverse WILL NOT receive any review or updates from the Ubuntu
25 ## security team.
26 deb http://mirrors.aliyun.com/ubuntu/ bionic multiverse
27 # deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic multiverse
28 deb http://mirrors.aliyun.com/ubuntu/ bionic-updates multiverse
29 # deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
30
31 ## N.B. software from this repository may not have been tested as
32 ## extensively as that contained in the main release, although it includes
33 ## newer versions of some applications which may provide useful features.
34 ## Also, please note that software in backports WILL NOT receive any review
35 ## or updates from the Ubuntu security team.
36 deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
37 # deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
38
39 ## Uncomment the following two lines to add software from Canonical's
40 ## 'partner' repository.
41 ## This software is not part of Ubuntu, but is offered by Canonical and the
42 ## respective vendors as a service to Ubuntu users.
43 # deb http://archive.canonical.com/ubuntu bionic partner
44 # deb-src http://archive.canonical.com/ubuntu bionic partner
45
46 deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted
47 # deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
48 deb http://mirrors.aliyun.com/ubuntu/ bionic-security universe
49 # deb-src http://security.ubuntu.com/ubuntu bionic-security universe
50 deb http://mirrors.aliyun.com/ubuntu/ bionic-security multiverse
51 # deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse
(4) 安装 VirtualBox Guest Additions
VirtualBox 提供了一组驱动程序和应用程序(VirtualBox Guest Additions),可以安装在客户机操作系统中。 VirtualBox Guest Additions 为虚拟机提供了一些有用的功能,例如共享文件夹、共享剪贴板、鼠标指针集成、更好的视频支持等。
Desktop 版的 Ubuntu 必须安装这个 VirtualBox Guest Additions,否者无法让 Ubuntu 的图形窗口自适应宿主 Windows 的窗口。
VirtualBox 的安装目录下,附带一个名为 “VBoxGuestAdditions.iso” 的映像 ISO 文件,其中包含所有受支持的客户机操作系统的客户机添加安装程序。 Guest Additions 安装步骤如下:
a) 在 VirtualBox -> Ubuntu-18.04 的 “存储” 选项卡中的虚拟光驱上,选择 “VBoxGuestAdditions.iso” 映像文件,重新启动 VirtualBox -> Ubuntu-18.04 进入 Ubuntu。
b) 打开 Ubuntu 终端(Terminal),创建一个虚拟光驱挂载点。并挂载光驱(ISO),命令如下:
$ sudo mkdir -p /mnt/cdrom
$ sudo mount /dev/cdrom /mnt/cdrom $ cd /mnt/cdrom
$ sudo sh ./VBoxLinuxAdditions.run
c) 运行 sh ./VBoxLinuxAdditions.run 命令后,重新启动 VirtualBox -> Ubuntu-18.04 进入 Ubuntu,Ubuntu 图形窗口应该会自适应宿主 Windows 的窗口。 如果 Ubuntu 图形窗口没有变化, 可以使用 lsmod 命令查看:
$ lsmod | grep vboxguest
vboxguest 344064 6 vboxsf
注:以上输出表示 Guest Additions 安装成功,注意 VBoxGuestAdditions.iso 的版本要与 VirtualBox 的版本保持一致。
(5) Ubuntu 18 忘记密码
如果忘记密码,可以进入 Recovery Mode 更改 root 密码,步骤如下。
a) 进入 Recovery Mode
系统启动时,3 秒内长按 "shift" 键,让系统停留在 GRUB 界面,如下:
*Ubuntu
Advanced options for Ubuntu
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Use the up and down to select which entry is highlighted.
Press enter to boot the seleceted OS, 'e' to edit the commands before booting or 'c' for a command-line.
将光标停留在第一行,按 “e”,进入 Recovery Mode 的编辑页面。找到以 “linux ” 开头的行,在该行的 “ro” 之后改成 “quiet splash rw init=/bin/bash”,修改后的该行内容如下:
linux /boot/vmlinuz-5.4.0-94-generic root=UUID=xxx-xx ro quiet splash rw init=/bin/bash
按 “ctrl+X” 组合键进入单用户模式。
b) 单用户模式
输入 “passwd” 命令,按回车键。系统提示输入 root 账号的新密码,重复输入一个不少于 8 位的密码。
重启系统。
本系列文章资料参考来源:
1. http://c.biancheng.net/linux_tutorial/
2. https://www.runoob.com/linux/linux-tutorial.html
3. https://www.w3cschool.cn/linux/
4. https://www.kernel.org/doc/html/latest/
5. https://www.linuxidc.com/